我有一个自定义控件,我来自Control
类。我希望这个自定义控件具有可视状态。我如何通过Blend定义这些状态?如果我有一个用户控件或其他内置控件,那么这很容易实现。但是我如何定义自定义控件的可视状态。我想只使用Blend而不想自己编写所有代码。
提前致谢:)
答案 0 :(得分:1)
当你通过扩展Control
来创建一个自定义控件时,你必须给它一个样式,这个样式就是你保存所有视觉状态的地方。
如果在App.xaml中添加适用于您的控件的样式,则可以设置其中包含可视状态的ControlTemplate。以下是您可以添加到页面的一些示例XAML,然后通过Blend编辑到您的内容。
(注意,未经测试的XAML)
<Style x:Key="myControlFrameStyle" TargetType="ns:MyOwnClass">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ns:MyOwnClass">
<Border>
<VisualStateManager.VisualStateGroups>
...
</VisualStateManager.VisualStateGroups>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>