Wpf 使用数据绑定时,TabControl无法创建第一个选项卡
我有一个选项卡控件,可以将哪些项源数据绑定到可观察的集合。我使用数据模板定义选项卡标题和内容的视觉表示 当我将一个项目添加到可观察的集合时,我会得到一个选项卡标题,但没有内容。当我向可观察集合添加第二个项目时,我会得到这两个项目的选项卡标题和内容。因此,首先,当第二项被添加到可观察集合时,第一个选项卡的内容被创建。有人知道这是否是一个bug,或者可以解释它为什么会发生?有解决办法吗?我试着使用模板选择器,结果也一样。下面是要复制的示例代码 我用.NET3.5和4.0测试了这一点 XAML:Wpf 使用数据绑定时,TabControl无法创建第一个选项卡,wpf,datatemplate,tabcontrol,Wpf,Datatemplate,Tabcontrol,我有一个选项卡控件,可以将哪些项源数据绑定到可观察的集合。我使用数据模板定义选项卡标题和内容的视觉表示 当我将一个项目添加到可观察的集合时,我会得到一个选项卡标题,但没有内容。当我向可观察集合添加第二个项目时,我会得到这两个项目的选项卡标题和内容。因此,首先,当第二项被添加到可观察集合时,第一个选项卡的内容被创建。有人知道这是否是一个bug,或者可以解释它为什么会发生?有解决办法吗?我试着使用模板选择器,结果也一样。下面是要复制的示例代码 我用.NET3.5和4.0测试了这一点 XAML:
代码隐藏:
public partial class Window1
{
public Window1()
{
InitializeComponent();
Items = new ObservableCollection<int>();
DataContext = this;
}
public ObservableCollection<int> Items { get; set; }
private void OnAdd(object sender, RoutedEventArgs e)
{
Items.Add(_random.Next(100));
}
private readonly Random _random = new Random();
}
公共部分类窗口1
{
公共窗口1()
{
初始化组件();
Items=新的ObservableCollection();
DataContext=this;
}
公共ObservableCollection项{get;set;}
专用void OnAdd(对象发送方、路由目标方)
{
添加(_random.Next(100));
}
private readonly Random_Random=new Random();
}
如果在选项卡控件上设置SelectedIndex=“0”
,它将解决此问题。我相信这与在添加/删除项目时强制执行SelectedIndex的错误有关
public partial class Window1
{
public Window1()
{
InitializeComponent();
Items = new ObservableCollection<int>();
DataContext = this;
}
public ObservableCollection<int> Items { get; set; }
private void OnAdd(object sender, RoutedEventArgs e)
{
Items.Add(_random.Next(100));
}
private readonly Random _random = new Random();
}