我想弄清楚为什么我无法在我的ComboBox上设置初始SelectedItem
值,如果我使用ItemsSource="{x:Bind [source]}"
进行绑定。
此XAML工作ComboBox SelectedItem未设置为x:绑定
<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:绑定SelectedContractSite,模式=双向}”'。我的假设是,'ViewModel'被指定为'ItemsSource',所以它应该只是任何'ItemsBinding'的属性。再一次,只是一个假设。 – AVK
@AVKNaidu,感谢您的建议,但它没有奏效。没有包含ViewModel的情况下,绑定路径无法解析。 – NSouth