我已经创建了一个数据网格组合框,但是在单击了datagrid Combo框之前,它的作用就像一个文本框。
如何在数据网格组合框中永久显示向下箭头,以便用户知道它是组合框。
<DataGrid Name="DataGridPerson" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=Name}" Header="Name" />
<DataGridComboBoxColumn x:Name="ComboBoxGender" SelectedItemBinding="{Binding Gender}" Header="Gender"/>
</DataGrid.Columns>
</DataGrid>
public partial class MainWindow : Window
{
public ObservableCollection<Person> People = new ObservableCollection<Person>();
public ObservableCollection<string> Genders = new ObservableCollection<string> { "Male", "Female" };
public MainWindow()
{
InitializeComponent();
DataGridPerson.ItemsSource = GetPeople();
ComboBoxGender.ItemsSource = Genders;
}
private ObservableCollection<Person> GetPeople()
{
People.Add(new Person()
{
Name = "Jane Doe",
Gender = "Female"
});
return People;
}
}
public class Person{
public string Name { get; set; }
public string Gender { get; set; }
}
答案 0 :(得分:0)
您可以通过使用TemplateColumn来轻松完成此操作,然后在其中放置一个组合框:
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox></ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
尽管您可能必须以其他方式绑定组合框的项目...