gpt4 book ai didi

c# - 组合框不显示所选项目,如果我选择第一项

转载 作者:太空宇宙 更新时间:2023-11-03 10:27:12 25 4
gpt4 key购买 nike

我正在从事 winrt phone 8.1 项目。

我有这个组合框。

<ComboBox PickerFlyoutBase.Title=" "  Name="ModelComboBox" x:Uid="ModelComboBox"  DisplayMemberPath="vcModel" IsEnabled="False" />

只需使用此代码来更改位于该组合框上方的组合框的选择更改事件。

    private void MakeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (MakeComboBox.SelectedValue != null)
{
List<stbModel> Model = CrudOperations.GetModelById((MakeComboBox.SelectedValue as stbMake).siMakeId);
if (Model != null && Model.Count > 0)
{
ModelComboBox.IsEnabled = true;
ModelComboBox.ItemsSource = Model.OrderBy(x => x.vcModel);
ModelComboBox.SelectedIndex = 0;
}
}
}

现在的问题是,我不知道为什么每当我从那个组合框中选择第一个项目时,它在组合框中什么都不显示,而如果我选择除第一个以外的任何项目,它就会在组合框中显示。

如果你需要,我可以附上截图。

最佳答案

当使用 MVVM 时,直接修改 SelectedIndex 属性会破坏绑定(bind)的部分功能。直接设置SelectedItem属性也有同样的问题。

这很糟糕,框架应该记录、防止或适当支持。

但是,唯一已知的可行解决方案(不是丑陋的 hack)是通过 ItemsSource 对象也绑定(bind)所选项目:Binding ComboBox SelectedItem using MVVM

关于c# - 组合框不显示所选项目,如果我选择第一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31310880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com