C# 使用SelectedIndex选择列表中的第一项
我有一个组合框,默认为ItemsSource列表中的第一项,使用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
<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>