DataGrid ComboBoxColumn组合框不可见

时间:2019-02-26 10:56:19

标签: c# wpf wpfdatagrid

我已经创建了一个数据网格组合框,但是在单击了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; }
}

1 个答案:

答案 0 :(得分:0)

您可以通过使用TemplateColumn来轻松完成此操作,然后在其中放置一个组合框:

          <DataGridTemplateColumn>
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <ComboBox></ComboBox>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>

尽管您可能必须以其他方式绑定组合框的项目...