Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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# wpf数据网格组合框列_C#_Wpf_Datagridcomboboxcolumn - Fatal编程技术网

C# wpf数据网格组合框列

C# wpf数据网格组合框列,c#,wpf,datagridcomboboxcolumn,C#,Wpf,Datagridcomboboxcolumn,我看不懂这场比赛。我试过不同的方法,但还是不行。我想读取用户选择以下3个值的值 XAML中的代码 <DataGridComboBoxColumn X:Name="dgcbc" Header="Wynik"/> C代码# List List=新列表(); 列表a.添加(“奖励”); 列表A.添加(“提取”); 列表a.添加(“丢失”); dgcbc.ItemsSource=列表; 此示例可能有助于您理解如何使用listbox public class Employee {

我看不懂这场比赛。我试过不同的方法,但还是不行。我想读取用户选择以下3个值的值

XAML中的代码

<DataGridComboBoxColumn X:Name="dgcbc" Header="Wynik"/>

C代码#

List List=新列表();
列表a.添加(“奖励”);
列表A.添加(“提取”);
列表a.添加(“丢失”);
dgcbc.ItemsSource=列表;

此示例可能有助于您理解如何使用listbox

public class Employee
{
    public string Name { get; set; }
    public string Gender { get; set; }        
}
XAML


代码隐藏

public partial class WPFDataGridComboBox : Window
{
    public List<Employee> Employees { get; set; }
    public List<string> Genders { get; set; }

    public WPFDataGridComboBox()
    {
        Employees = new List<Employee>()
        {
            new Employee() { Name = "ABC", Gender = "Female" },
            new Employee() { Name = "XYZ" }
        };

        Genders = new List<string>();
        Genders.Add("Male");
        Genders.Add("Female");

        InitializeComponent();
        myGrid.ItemsSource = Employees;
        Gender.ItemsSource = Genders;
    }

    private void ShowPersonDetails_Click(object sender, RoutedEventArgs e)
    {
        foreach (Employee employee in Employees)
        {
            string text = string.Empty;
            text = "Name : " + employee.Name + Environment.NewLine;
            text += "Gender : " + employee.Gender + Environment.NewLine;
            MessageBox.Show(text);
        }
    }
}
public分部类WPFDataGridComboBox:窗口
{
公共列表雇员{get;set;}
公共列表性别{get;set;}
公共WPFDataGridComboBox()
{
雇员=新名单()
{
新员工(){Name=“ABC”,Gender=“Female”},
新员工(){Name=“XYZ”}
};
性别=新列表();
性别。添加(“男性”);
性别。添加(“女性”);
初始化组件();
myGrid.ItemsSource=员工;
Gender.ItemsSource=性别;
}
私有void ShowPersonDetails\u单击(对象发送者,路由目标)
{
foreach(员工中的员工)
{
string text=string.Empty;
text=“Name:”+employee.Name+Environment.NewLine;
text+=“性别:”+employee.Gender+Environment.NewLine;
MessageBox.Show(文本);
}
}
}

我猜您希望在DataGridComboBoxColumn内的combobox中启用多重选择。 下面的代码项目也是这样做的


您所说的“我想读取用户选择的以下3个值”是什么意思?你的问题到底是什么?不要这样做。在WPF中,尝试使用绑定更简单:我将更改
myGrid.ItemsSource=Employees
Gender.ItemsSource=Genders
改为绑定。是的,我了解它的工作原理,并编写了其余的代码。一切正常。感谢您的帮助,并向您致以最诚挚的问候(RonakThakkar.)@RonakThakkar-我对WPF(infact MS technologies)非常陌生,一直在寻找这个解决方案。这真的帮助了我。我认为你应该写一篇关于它的博客文章。
<StackPanel>
  <DataGrid AutoGenerateColumns="False" Name="myGrid" Margin="10">
     <DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding Path=Name}" />             
        <DataGridComboBoxColumn Width="100" x:Name="Gender" 
                    SelectedValueBinding="{Binding Gender, Mode=TwoWay}"  
                    DisplayMemberPath="{Binding Gender}" />
     </DataGrid.Columns>
  </DataGrid>
  <Button Name="ShowPersonDetails"  
          Content="Show Person Details" 
          Width="200" Height="30"  
          Click="ShowPersonDetails_Click" Margin="10" />
</StackPanel>
public partial class WPFDataGridComboBox : Window
{
    public List<Employee> Employees { get; set; }
    public List<string> Genders { get; set; }

    public WPFDataGridComboBox()
    {
        Employees = new List<Employee>()
        {
            new Employee() { Name = "ABC", Gender = "Female" },
            new Employee() { Name = "XYZ" }
        };

        Genders = new List<string>();
        Genders.Add("Male");
        Genders.Add("Female");

        InitializeComponent();
        myGrid.ItemsSource = Employees;
        Gender.ItemsSource = Genders;
    }

    private void ShowPersonDetails_Click(object sender, RoutedEventArgs e)
    {
        foreach (Employee employee in Employees)
        {
            string text = string.Empty;
            text = "Name : " + employee.Name + Environment.NewLine;
            text += "Gender : " + employee.Gender + Environment.NewLine;
            MessageBox.Show(text);
        }
    }
}