如何在混合中为自定义控件创建视觉状态?

时间:2010-11-05 05:53:18

标签: silverlight-4.0 expression-blend

我有一个自定义控件,我来自Control类。我希望这个自定义控件具有可视状态。我如何通过Blend定义这些状态?如果我有一个用户控件或其他内置控件,那么这很容易实现。但是我如何定义自定义控件的可视状态。我想只使用Blend而不想自己编写所有代码。

提前致谢:)

1 个答案:

答案 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>