Wpf 如何绑定到Tabcontrol.Items
我有一个WPF应用程序,我正在尝试将项动态添加到tabcontrol。我有一个菜单项列表,应该与tabcontrol的项进行数据绑定。唯一的问题是TabControl.Items不会通知其他人已添加项。我通过绑定到TabControl.Items.Count并获取对转换器的调用来测试这一点(但是传入的值是Count而不是有用的值)。以下是无法正确绑定数据的相关代码,因为项目不调用更新:Wpf 如何绑定到Tabcontrol.Items,wpf,xaml,data-binding,Wpf,Xaml,Data Binding,我有一个WPF应用程序,我正在尝试将项动态添加到tabcontrol。我有一个菜单项列表,应该与tabcontrol的项进行数据绑定。唯一的问题是TabControl.Items不会通知其他人已添加项。我通过绑定到TabControl.Items.Count并获取对转换器的调用来测试这一点(但是传入的值是Count而不是有用的值)。以下是无法正确绑定数据的相关代码,因为项目不调用更新: <MenuItem ItemsSource="{Binding RelativeSource={Rela
<MenuItem ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type TabControl}}, Path=Items, Converter={StaticResource TabControlItemConverter}}">
所有这些都很好…添加视图,选项卡控件添加项目,然后显示视图。但是tabcontrol上的Items属性从不向其集合广播更改 对于
选项卡控件
也要做同样的事情,绑定项源
,唯一需要考虑的是,如果要在添加项时更新源集合,则应实现源集合。已经实现了接口,并且经常用作此类绑定的源
<TabControl cal:RegionManager.RegionName="{x:Static local:LocalRegionNames.SelectedItemRegion}" >
<TabControl.Resources>
<Style TargetType="TabItem" BasedOn="{StaticResource TabItemStyle}">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Style="{StaticResource tabItemImage}" Height="20" />
<TextBlock Text="{Binding Content.DataContext.TabHeader, RelativeSource={RelativeSource AncestorType=TabItem}}" VerticalAlignment="Center" />
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.Resources>
</TabControl>
ProjectDetailView view = new ProjectDetailView();
ProjectDetailViewModel viewModel = new ProjectDetailViewModel();
viewModel.CurrentProject = project;
view.DataContext = viewModel;
IRegionManager retManager = RegionManager.Regions[LocalRegionNames.SelectedItemRegion].Add(view, null, true);
RegionManager.Regions[LocalRegionNames.SelectedItemRegion].Activate(view);