Вопрос

Как можно было бы выбрать другую табличку с данными, соответствующую полю в источнике привязки данных? Я хотел бы иметь 2 разных шаблона данных

<DataTemplate x:Key="DataTemplateLabel">
    <Label Width="60" Height="25" Background="Red">
    <TextBlock Text="{Binding Path=Name}"/>
    </Label>
</DataTemplate>



<DataTemplate x:Key="DataTemplateTxtBox">
    <TextBox Width="60" Height="25" Background="Red" Text="{Binding Path=Text}"/>
</DataTemplate>

if (isText) Тогда использовать DataTemplateTxtBox Иначе использовать DataTemplateLabel) Возможно ли это? Спасибо.

Это было полезно?

Решение

Вы можете создать DataTemplateSelector и назначить его свойству ContentTemplateSelector (или ItemTemplateSelector , если оно находится в ItemsControl )

Другие советы

Это скорее косвенный ответ, но, выполняя полиморфизм (т.е. оставляя свойство IsText и отвечая на вопрос с использованием другого типа), вы можете определить DataTemplate для каждого отдельного типа.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top