Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用SelectedIndex选择列表中的第一项_C#_Wpf - Fatal编程技术网

C# 使用SelectedIndex选择列表中的第一项

C# 使用SelectedIndex选择列表中的第一项,c#,wpf,C#,Wpf,我有一个组合框,默认为ItemsSource列表中的第一项,使用 <ComboBox x:Name="combo" SelectedIndex="0" ItemsSource="{Binding comboBoxSelections, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}" DisplayMem

我有一个组合框,默认为ItemsSource列表中的第一项,使用

<ComboBox  x:Name="combo" 
           SelectedIndex="0" 
           ItemsSource="{Binding comboBoxSelections, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}" 
           DisplayMemberPath="Key" 
           IsEditable="True" >
是否可以仅在XAML中初始化该值

我认为我不能从构造函数中设置它,因为combo不是单个Combobox,而是DataGridComboBoxColumn的一部分

<DataGrid.Columns>
    <DataGridComboBoxColumn Header="Department Id" x:Name="comboboxColumn1"
            SelectedValueBinding="{Binding Department Id}" />
        <DataGridTemplateColumn x:Name="DataGridTempCol" Header="Selection">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <ComboBox  
                      x:Name="combo" 
                      SelectedValue="{Binding Selection, Mode=TwoWay,   UpdateSourceTrigger=PropertyChanged}" 
                      ItemsSource="{Binding comboBoxSelections, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"  
                      DisplayMemberPath="Key" 
                      IsEditable="True" >
                    </ComboBox>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>

将SelectedValue设置为ctor中的第一行。

这样XAML可以设置它,但不能在代码中设置它?真的吗?@Blam-我必须承认C对我来说是非常新的,所以我仍然在摸索,可能在问一些显而易见的问题。这不是故意的。我的代码在DataGrid中定义了一个DataColumn,XAML将一个Combobox绑定到它,因此该列中的每一行上都有Combobox。我看不到如何在代码中设置combo SelectedItem=0?我已尝试使用row[Session]=KeyValuePairComboxSelections[0]显式设置该值;其中comboBoxSelections为this.comboBoxSelections=新的ObservableCollection;但是不成功,读我的话。我说的是在代码中设置SelectedValue,而不是SelectedIndex。删除选定的索引。两个首领从来都不管用。我希望您有一个名为Selection的属性。只需在第一行分配索引。iv'e创建了一个行为,该行为会重新选择最后一个SelectedIndex或交替选择索引0
<DataGrid.Columns>
    <DataGridComboBoxColumn Header="Department Id" x:Name="comboboxColumn1"
            SelectedValueBinding="{Binding Department Id}" />
        <DataGridTemplateColumn x:Name="DataGridTempCol" Header="Selection">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <ComboBox  
                      x:Name="combo" 
                      SelectedValue="{Binding Selection, Mode=TwoWay,   UpdateSourceTrigger=PropertyChanged}" 
                      ItemsSource="{Binding comboBoxSelections, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"  
                      DisplayMemberPath="Key" 
                      IsEditable="True" >
                    </ComboBox>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>