如何在DevExpress ComboBoxEdit中设置索引

本文关键字:设置 索引 ComboBoxEdit DevExpress | 更新日期: 2023-09-27 18:13:29

如何在DevExpress ComboBoxEdit中"设置"SelectedIndex ?
我在XAML和后面的代码中都尝试过,但索引没有设置,它从一个空白项开始。

My XAML:[我不明白为什么这不起作用,但它没有…]

<dxb:BarEditItem.EditSettings>
    <dxe:ComboBoxEditSettings>
        <dxe:ComboBoxEditSettings.Items>
            <dxe:ComboBoxEditItem IsSelected="True">AAA</dxe:ComboBoxEditItem>
            <dxe:ComboBoxEditItem>BBB</dxe:ComboBoxEditItem>
            <dxe:ComboBoxEditItem>CCC</dxe:ComboBoxEditItem>
        </dxe:ComboBoxEditSettings.Items>
    </dxe:ComboBoxEditSettings>
</dxb:BarEditItem.EditSettings>

我的c#代码:
[我得到countStr正确所以我确信ComboBoxEdit和项目初始化和添加ok,但SelectedIndex仍然不设置索引..]
*我也不想使用EditValue来设置值,我需要使用一个整数(Index)来设置它。

private void Foo_LinkControlLoaded(object sender,
    DevExpress.Xpf.Bars.BarItemLinkControlLoadedEventArgs e)
{
    BarEditItemLink link = (BarEditItemLink)sender;
    countStr = ((ComboBoxEdit)link.Editor).Items.Count.ToString();
    ((ComboBoxEdit)link.Editor).SelectedIndex = 2;
}

如何在DevExpress ComboBoxEdit中设置索引

编辑器设置中没有SelectedIndex或SelectedItem属性(例如ComboBoxEditSettings)。但是你可以通过编辑器样式设置ComboBoxEdit的SelectedIndex, SelectedItem或EditValue属性:

<dxb:BarEditItem x:Name="beiComboBox">
    <dxb:BarEditItem.EditStyle>
        <Style TargetType="dxe:ComboBoxEdit">
            <Setter Property="SelectedIndex" Value="1"/>
        </Style>
    </dxb:BarEditItem.EditStyle>
    <dxb:BarEditItem.EditSettings>
        <dxe:ComboBoxEditSettings>
            <dxe:ComboBoxEditSettings.Items>
                <dxe:ComboBoxEditItem>AAA</dxe:ComboBoxEditItem>
                <dxe:ComboBoxEditItem>BBB</dxe:ComboBoxEditItem>
                <dxe:ComboBoxEditItem>CCC</dxe:ComboBoxEditItem>
            </dxe:ComboBoxEditSettings.Items>
        </dxe:ComboBoxEditSettings>
    </dxb:BarEditItem.EditSettings>
</dxb:BarEditItem>

你也可以设置一个ComboBoxEdit。如果捕捉到Loaded事件,则从代码滞后中获取SelectedIndex属性:

<dxb:BarEditItem.EditStyle>
    <Style TargetType="dxe:ComboBoxEdit">
        <EventSetter Event="Loaded" Handler="ComboBoxEdit_Loaded"/>
    </Style>
</dxb:BarEditItem.EditStyle>
//...
void ComboBoxEdit_Loaded(object sender, RoutedEventArgs e) {
    ((ComboBoxEdit)sender).SelectedIndex = 1;
}