【发布时间】:2011-01-19 16:28:36
【问题描述】:
我有一个 DataTemplate,用于在 TabControl 中显示类的一部分(它是 TabItem 的 DataTemplate)。此 DataTemplate 有多个 ComboBox,向用户显示各种属性值。
我有一个 ComboBox,它允许用户在 TabControl 绑定到的对象之间切换。
如果 Object 具有不为 null 的属性,则在绑定到它们的 ComboBoxes 中选择它们(如预期的那样)。
如果我切换到具有 null 属性的 Object,则 ComboBox 中没有选择任何项目(也如预期的那样)。
但是,如果我切换回该属性中具有值的对象,则根本不会显示它。
我不确定我做错了什么。
这是我遇到问题的 DataTemplate 的 XAML 标记...我只会发布 1 个 ComboBox,因为它们的行为方式都相同:
<DataTemplate x:Key="OptionalInfoTemplate">
<ScrollViewer>
<StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,5,0,0">
<Label Content="Optional Item 1:"></Label>
<ComboBox ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type TabControl}}, Path=DataContext.OptionalItems}"
SelectedItem="{Binding Path=OptionalItem1}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"></TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</StackPanel>
<!-- more controls -->
</StackPanel>
</ScrollViewer>
</DataTemplate x:Key="OptionalInfoTemplate">
感谢您的宝贵时间和帮助!
-弗林尼
【问题讨论】:
-
"显示不正确。" -- 你到底看到了什么?
-
根本不显示
标签: wpf data-binding combobox