我的代码隐藏类中有以下代码行。
TabControl.ItemsSource = ((MainWindowViewModel)DataContext).TabItemViewModels;
我想将其移至XAML文件。
简而言之,
我想要做的是将MainWindowViewModel类的TabItemViewModels属性绑定到TabControl的ItemSources属性。
我正在寻找的不仅仅是一行代码,还有一些关于Bindings语法的指针,因为我完全迷失了它,而且使用XAML似乎非常重要。
答案 0 :(得分:0)
首先是你不想要的代码行:
<TabControl ItemsSource="{Binding TabItemViewModels}" ... />
这与绑定的语法有什么关系?没有Source,ElementName或RelativeSource的绑定自动引用DataContext。在您的情况下,MainWindow.DataContext是具有TabItemViewModels属性的MainWindowViewModel。 (DataContext沿着可视化树向下传播,因此TabControl继承与包含MainWindow相同的DataContext。)因此,您只需按名称引用该属性。
有关详细信息和语法,请参阅MSDN中的Data Binding Overview,Binding Sources Overview和Binding Declarations Overview。