[英]Change state of custom control in XAML
我有一个使用创建的自定义控件的WPF应用程序。 在控件中,我在VisualStateGroup中定义了许多VisualState。 在自定义控件之外,但在同一应用程序中,我有一些按钮想要更改自定义控件的显示VisualState。 无需编写代码就能做到吗?
是的,您可以仅使用XAML从外部更改自定义控件的状态:
<Button Content="Button"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<ei:GoToStateAction TargetObject="{Binding ElementName=myControl}" StateName="SomeState"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
但是,请尽可能避免。 通常,控件应管理自己的状态。 例如,您可以在“自定义”控件中公开一些会触发状态的属性(以代码形式或通过控件样式的“触发器/动作”)。 从外部切换状态会降低代码的可见性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.