在我的 WPF 应用程序中,我有一个TabControl
名为ParentTabControl,它 ContentTemplate 由几个控件组成,包括一个TabControl
名为ChildTabControl。
ParentTabControl 包含2 个选项卡(每个选项卡绑定到不同的源),其中ChildTabControl始终包含 1 个选项卡。我正在关注ParentTabControl的第一个选项卡。默认情况下,ChildTabControl的第一个(唯一一个)选项卡被选中。问题是,如果我切换到ParentTabControl的第二个选项卡,则不会选择其ChildTabControl的选项卡。这是正常行为吗?如何始终选择一个选项卡?
我希望我足够清楚。这是一些代码:
父选项卡控件:
<TabControl Name="ParentTabControl"
ItemsSource="{Binding ParentItemsSource}"
ContentTemplate="{StaticResource ResourceKey=ContentTemplate}"
IsSynchronizedWithCurrentItem="True" />
内容模板:
<DataTemplate x:Key="ContentTemplate">
<TabControl Name="ChildTabControl"
ItemsSource="{Binding ChildItemsSource, Converter={StaticResource ResourceKey=ItemToObservableCollectionConverter }}" />
</DataTemplate>
物品来源:
public ObservableCollection<ParentData> ParentItemsSource { get; set; }
public class ParentData
{
public ChildData ChildItemsSource { get; set; }
}
转换器:
public class ItemToObservableCollectionConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return new ObservableCollection<object> { value };
}
}
谢谢你。