gpt4 book ai didi

c# - WPF ComboBoxItem Style 在 Combobox 获得焦点后加载

转载 作者:行者123 更新时间:2023-12-03 10:42:59 25 4
gpt4 key购买 nike

我正在开发一个应用程序来学习 MVVM。我现在有一个问题,但我找不到与我类似的案例。

首先我的代码:

<ComboBox Width="100" DisplayMemberPath="Name" ItemsSource="{Binding MyList}">
<ComboBox.Resources>
<Style TargetType="ComboBoxItem">
<Setter Property="IsSelected" Value="{Binding IsSelected}"/>
</Style>
</ComboBox.Resources>
</ComboBox>

我有一个简单对象的列表,其结构如下:
  • 属性:字符串名称
  • 属性:bool IsSelected

  • 我将此对象列表绑定(bind)到我的 ComboBox并绑定(bind) IsSelected -我的对象的属性(property) IsSelected - ComboBoxItem 的属性(property).绑定(bind)工作正常,我的对象在 ComboBox如果我选择一个项目 IsSelected - 属性得到更新。

    但问题是在应用程序开始时没有可见的选定项目。我必须点击 ComboBox所以选定的项目变得可见。我认为 ComboBoxItem 的风格在其父项获得焦点后加载。

    有什么解决办法吗?

    最佳答案

    您应该设置或绑定(bind) SelectedItem ComboBox 的属性(property)到要选择的项目的一个实例:

    <ComboBox Width="100" DisplayMemberPath="Name" ItemsSource="{Binding MyList}" SelectedItem="{Binding Selected}">
    ...
    Selected = MyList.FirstOrDefault(x => x.IsSelected == true);

    这是您在 ComboBox 中选择项目的方式。使用 MVVM。您没有定义 ComboBoxItem风格。

    关于c# - WPF ComboBoxItem Style 在 Combobox 获得焦点后加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46293345/

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