2010-11-05 47 views
0

我有一個自定義控件,我從Control類派生。我想讓這個自定義控件具有視覺狀態。我如何通過Blend定義這些狀態?如果我有用戶控件或其他內置控件,則很容易這樣做。但是,我如何定義自定義控件的視覺狀態。我只想使用Blend,而不想自己編寫所有代碼。如何在混合中創建自定義控件的視覺狀態?

感謝提前:)

回答

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>