繁体   English   中英

更改XAML中的自定义控件的状态

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM