我对MVVM作为一个概念颇为陌生,我目前正试图设置一些东西,以便更改TabControl的选定索引将更改我拥有的ComboBox的项目源。目前,我有事情设置如下:MVVM TabControl更新组合框
public int SelectedTabIndex
{
get
{
return _selectedTabIndex;
}
set
{
_selectedTabIndex = value;
if (_selectedTabIndex == 0)
{
_readOnlyArray = ReadOnlyArrays.ReadOnlyColumnArrays.LoanerItemsSelect;
}
else if (_selectedTabIndex == 1)
{
_readOnlyArray = ReadOnlyArrays.ReadOnlyColumnArrays.CustomerSelect;
}
else if (_selectedTabIndex == 2)
{
_readOnlyArray = ReadOnlyArrays.ReadOnlyColumnArrays.JobSelect;
}
}
这势必一个TabControl以下内容:
SelectedIndex="{Binding SelectedTabIndex, Mode=TwoWay}"
我也有这样的:
public string[] ReadOnlyArray
{
get { return _readOnlyArray; }
set { _readOnlyArray = value;}
}
这势必给组合框如下:
ItemsSource="{Binding readOnlyArray, Mode=TwoWay}"
我知道最有可能我这样做完全错误,但我希望ComboBox的项目源更新每当TabControl的Tab索引被更改。
不相干的问题,为什么当它定义一个公共setter时,该属性称为“ReadOnlyArray”? – PoweredByOrange
@ programmer93这是一个可怕的名字。 ComboBox的ItemSource是一个ReadOnly数组。我有点草率地命名它,并计划在事情奏效后改变它。 – DanteTheEgregore