【发布时间】:2017-08-06 12:15:03
【问题描述】:
我试图弄清楚如果我与ItemsSource="{x:Bind [source]}" 绑定,为什么我不能在我的组合框上设置初始SelectedItem 值。
这个 xaml 工作
<ComboBox
ItemsSource="{Binding Sites, Mode=OneWay}"
SelectedItem="{x:Bind ViewModel.SelectedContractSite, Mode=TwoWay}"/>
但是当我更改为以下 xaml 时,ComboBox 包含站点,但未将 SelectedItem 显示为默认值。 (事实上,它似乎在视野中闪烁然后消失)。
<ComboBox
ItemsSource="{x:Bind ViewModel.Sites, Mode=OneWay}"
SelectedItem="{x:Bind ViewModel.SelectedContractSite, Mode=TwoWay}"/>
这里是 ViewModel 中的相关代码。 (我缩写了长长的站点列表。)
public List<string> Sites
{
get
{
return new List<string>()
{
"Miami",
"Texas"
};
}
}
private string _selectedContractSite = "Texas";
public string SelectedContractSite
{
get
{
return _selectedContractSite;
}
set
{
Set(ref _selectedContractSite, value);
}
}
感谢您的帮助!
【问题讨论】:
-
试试
SelectedItem="{x:Bind SelectedContractSite, Mode=TwoWay}"。我的假设是,ViewModel已经分配为ItemsSource,所以它应该只是任何ItemsBinding的财产。同样,只是一个假设。 -
@AVKNaidu,感谢您的建议,但没有奏效。如果没有包含 ViewModel,绑定路径将无法解析。
标签: c# xaml combobox uwp uwp-xaml