Custom Wpf Lookless control ... Динамически определить тип управления - PullRequest
1 голос
/ 12 октября 2009

Как определить тип настраиваемого элемента управления без внешнего вида во время выполнения. Мне нужно определить тип элементов управления (т. Е. Текстовое или комбинированное) во время выполнения (на самом деле, когда какое-либо свойство Dependency привязано). Как я могу это сделать? Могу ли я определить, где наследовать во время выполнения ..?

Ответы [ 2 ]

1 голос
/ 12 октября 2009

Вы создаете элемент управления, который наследуется от FramewrokElement (или Decorator, если вы хотите быструю реализацию и не заботитесь об использовании типа для чего-то, что он не должен делать), и создаете требуемый элемент управления как дочерний элемент вашего элемента управления, когда свойство зависимости установлено.

0 голосов
/ 12 октября 2009

Вы можете использовать Trigger, который устанавливает свойство 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...