簡體   English   中英

自定義Wpf Lookless控制…動態確定控件類型

[英]Custom Wpf Lookless contol…Dynamically Decide Control type

如何在運行時確定自定義無外觀控件的類型。我必須在運行時(實際上是在綁定某些Dependency屬性時)確定控件的類型(即文本框還是組合框)。我該怎么辦? 我可以定義從運行時繼承的位置嗎?

您創建一個從FramewrokElement(或Decorator,如果您希望快速實現並且不關心將其用於不應該做的事情的類型)繼承的控件,並在依賴屬性時將所需的控件作為控件的子級創建被設置。

您可以使用觸發器來設置控件的ControlTemplate屬性。

<Style TargetType={x:Type local:MyControl}>
  <Style.Triggers>
    <Trigger Property="MyProperty" Value="MyValue1">
      <Setter Property="ControlTemplate">
        <Setter.Value>
          <ControlTemplate TargetType={x:Type local:MyControl}>
            <!-- first template -->
          </ControlTemplate
        </Setter.Value>
      </Setter>
    </Trigger>
    <Trigger Property="MyProperty" Value="MyValue2">
      <Setter Property="ControlTemplate">
        <Setter.Value>
          <ControlTemplate TargetType={x:Type local:MyControl}>
            <!-- second template -->
          </ControlTemplate
        </Setter.Value>
      </Setter>
    </Trigger>
  </Style.Triggers

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM