如何在DevExpress ComboBoxEdit中选择第一项?

时间:2017-02-20 12:27:08

标签: wpf devexpress-wpf

我有WPF应用程序并使用UserControl作为视图。在UserControl里面有DevExpress ComboBoxEdit。

<UserControl ... 
             xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <dxe:ComboBoxEdit Name="ComboBoxInspectionList" Grid.Row="0" Grid.Column="0" ItemsSource="{Binding InspectionList}" SelectedItem="{Binding SelectedInspection}" IsTextEditable="False"/>
    </Grid>
</UserControl>

ComboBox是数据绑定的。我试过这个:

public partial class InspectionList : UserControl
{
    public InspectionList()
    {
        InitializeComponent();

        if (ComboBoxInspectionList.Items.Count > 0)
        {
            ComboBoxInspectionList.SelectedIndex = 0;
        }
    }
}

但是,在执行UserControl的构造函数中的代码之后发生了数据绑定。

1 个答案:

答案 0 :(得分:0)

您是否只是在XAML标记中将SelectedIndex属性设置为0?:

<dxe:ComboBoxEdit Name="ComboBoxInspectionList" SelectedIndex="0" Grid.Row="0" Grid.Column="0" ItemsSource="{Binding InspectionList}" SelectedItem="{Binding SelectedInspection}" IsTextEditable="False"/>

MVVM这样做的方法是将SelectedInspection属性设置为视图模型中InspectionList中实际存在的对象,如@ 3615所示:

SelectedInspection = InspectionList.FirstOrDefault();

您显然无法选择Items的{​​{1}}集合中不存在的项目。