【问题标题】:Select ComboBox First item in DataGridComboBoxColumn [closed]在 DataGridComboBoxColumn 中选择 ComboBox 第一项 [关闭]
【发布时间】:2023-03-21 15:48:01
【问题描述】:

我希望自动选择每个组合框的第一项。

<DataGridComboBoxColumn SelectedItemBinding="{Binding Version}" >
    <DataGridComboBoxColumn.EditingElementStyle>
        <Style TargetType="ComboBox">
            <Setter Property="ItemsSource" Value="{Binding Path=Versions}" />
        </Style>
    </DataGridComboBoxColumn.EditingElementStyle>

    <DataGridComboBoxColumn.ElementStyle>
        <Style TargetType="ComboBox">
            <Setter Property="ItemsSource" Value="{Binding Path=Versions}" />
        </Style>
    </DataGridComboBoxColumn.ElementStyle>

</DataGridComboBoxColumn>

我在 EditingElementStyleElementStyle 上写了&lt;Setter Property="SelectedIndex" Value="0" /&gt;,但什么也没发生,也不起作用。

【问题讨论】:

    标签: c# wpf datagrid datagridcomboboxcolumn


    【解决方案1】:

    您在 XAML 中设置了 SelectedItemBinding,因此所选项目与您的视图模型同步,并且很可能是 null。如果您从数据网格组合框列定义中删除绑定,则此设置器有效。

    <Setter Property="SelectedIndex" Value="0" />
    

    但是,最简单的解决方案是保持选定项绑定,并在分配或填充时将模型中的 Version 属性设置为集合中的第一项。

    Version = Versions[0];
    

    那么ComboBox就会得到这个item作为选中的item,不需要添加setter。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-22
      • 1970-01-01
      • 2021-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-05
      相关资源
      最近更新 更多