gpt4 book ai didi

wpf - 在 WPF 中设置初始 VisualState

转载 作者:行者123 更新时间:2023-12-04 20:46:39 26 4
gpt4 key购买 nike

在 WPF 中使用 VisualStateManager 时,可能需要在控件初始化时转换到 VisualState。据我所知,没有办法在 Xaml 中声明初始状态,在初始化之后,您只能在代码中转换到所需状态的有限选项。

使用背后的代码并不总是可取的,如果您使用绑定(bind)来控制您的 VisualStates,那么并不总是可行的。

那么问题来了:如何在WPF中设置一个初始的VisualState而不在后面的代码中设置呢?

最佳答案

评论太长了

绑定(bind)“应该”没有区别。如果它在代码隐藏中运行良好,它一定会在 xaml 中运行,除非绑定(bind)中有一些非常奇怪的东西。

blend 的所有 Action 都可以看作是一个 xaml 辅助工具。最终结果是您获得了一些混合为您创建的 xaml。如果您不想使用混合。只需在 VS 中自己添加 xaml。

对于这件事,GoToStateAction可以编码如

<Window ...
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
...>
...
<Button x:Name="button"
Style="{DynamicResource ButtonStyle1}">
<i:Interaction.Triggers>
<i:EventTrigger>
<ei:GoToStateAction StateName="YourState"
TargetObject="{Binding ElementName=button}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>

您还需要项目中的相应引用。

顺便说一句,请尝试混合。它在特定的地方有它的优势。您 prolly 不会直接替换键入 xaml,但它是一个很好的辅助工具。除非被迫,否则完全忽略它是毫无意义的 IMO。

关于wpf - 在 WPF 中设置初始 VisualState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16955900/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com