我在将ContentControl绑定到ListboxItem时遇到了一些问题。
这是我的ListBox。
<ListBox x:Name="box">
<ListBoxItem Tag="{x:Type vm:PART_FAMILY_ViewModel}" Content="Car"></ListBoxItem>
<ListBoxItem Tag="{x:Type vm:PART_TYPES_ViewModel}" Content="Bike" IsSelected="True"></ListBoxItem>
</ListBox>
这是我的ContenControl:
<ContentControl Content="{Binding ElementName=box, Path=SelectedItem.Tag}">
<ContentControl.Resources>
<DataTemplate DataType="{x:Type vm:PART_FAMILY_ViewModel}">
<v:PART_FAMILYS_View></v:PART_FAMILYS_View>
</DataTemplate>
<DataTemplate DataType="{x:Type vm:PART_TYPES_ViewModel}">
<v:PART_TYPES_View></v:PART_TYPES_View>
</DataTemplate>
</ContentControl.Resources>
</ContentControl>
使用我的Elementname,我只在ContentControl中看到Tag DataType。
答案 0 :(得分:1)
使用我的Elementname,我只在ContentControl中看到Tag DataType。
那是因为您将Tag属性设置为类型。您应该将其设置为DataTemplate类型的实例,以便按预期应用:
<ListBox x:Name="box">
<ListBoxItem Content="Car">
<ListBoxItem.Tag>
<vm:PART_FAMILY_ViewModel />
</ListBoxItem.Tag>
</ListBoxItem>
<ListBoxItem Content="Bike" IsSelected="True">
<ListBoxItem.Tag>
<vm:PART_TYPES_ViewModel />
</ListBoxItem.Tag>
</ListBoxItem>
</ListBox>