Имеется DataTemplateSelector
:
class DisplayTemplateSelector : DataTemplateSelector
{
public DataTemplate TemplateA { get; set; }
public DataTemplate TemplateB { get; set; }
public override System.Windows.DataTemplate SelectTemplate(object item, System.Windows.DependencyObject container)
{
var baseClass = item as BaseClass;
switch (baseClass.Type)
{
case A:
return TemplateA;
case B:
return TemplateB;
default:
return null;
}
}
}
XAML
<HierarchicalDataTemplate x:Key="key"
ItemsSource="{Binding Streams, Mode=OneWay}"
ItemTemplateSelector="{StaticResource displayTemplateSelector}">
<TextBlock Text="{Binding Name}"/>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type A}" x:Key="a">
<TextBlock Text="{Binding }"/>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type B}" x:Key="b">
<TextBlock Text="{Binding }"/>
</HierarchicalDataTemplate>
На данном этапе все работает. Но как только я захочу установить ItemSource
и ItemTemplate
для одного из A или B шаблона, получаю исключение:
Для двусторонней сборки требуется Path или XPath.
и предупреждение в выводе:
Both 'ItemTemplate' and 'ItemTemplateSelector' are set; 'ItemTemplateSelector' will be ignored. TreeViewItem:'TreeViewItem' (Name='')
В чем проблема?
UDP:
проблема была из-за привязки в шаблонaх A,B.
<TextBlock Text="{Binding }"/>
нужно было привязываться к конкретному полю.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
На удаленных филиалах стоят компьютеры (XP, 7, 10), интернет там ужасныйИх необходимо периодически включать для прокачки данных
Есть приложение которое должно подключаться к серверу и принимать данныеСервер находится на PC
Написание плагина это моя курсовая работа, помогите пожалуйста в нескольких вопросах: