Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.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中从datagrid的选定行中选择特定单元格_C#_Wpf_Datagrid - Fatal编程技术网

C# 如何在wpf中从datagrid的选定行中选择特定单元格

C# 如何在wpf中从datagrid的选定行中选择特定单元格,c#,wpf,datagrid,C#,Wpf,Datagrid,我试图在wpf中选择datagrid中选定行的第一个单元格的值,但我尝试了intellicense显示的所有选定方法,但没有一种对我有效我知道这可能是一个愚蠢的问题,但我没有其他方法来回答它 SelectedItem是一个需要强制转换为正确类型的对象,然后才能访问Id属性 下面是一个示例代码: public partial class MainWindow : Window { public MainWindow() { InitializeComponent()

我试图在wpf中选择datagrid中选定行的第一个单元格的值,但我尝试了intellicense显示的所有选定方法,但没有一种对我有效我知道这可能是一个愚蠢的问题,但我没有其他方法来回答它


SelectedItem是一个需要强制转换为正确类型的对象,然后才能访问Id属性

下面是一个示例代码:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        List<SomeObject> list = new List<SomeObject>();
        for (int i = 0; i < 10; i++)
        {
            list.Add(new SomeObject
            {
                Id = $"{i}{i}",
                Nombre = $"Nombre {i}"
            });
        }

        DataContext = list;
    }

    private void DataGrid_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
    {
        if (sender is DataGrid)
        {
            DataGrid dataGrid = sender as DataGrid;
            SomeObject selectedObject = dataGrid.SelectedItem as SomeObject;
            if (selectedObject != null)
            {
                string selectedId = selectedObject.Id;
            }
        }
    }
}

internal class SomeObject
{
    public string Id { get; set; }
    public string Nombre { get; set; }
    //...
}
公共部分类主窗口:窗口
{
公共主窗口()
{
初始化组件();
列表=新列表();
对于(int i=0;i<10;i++)
{
添加(新的SomeObject)
{
Id=$“{i}{i}”,
Nombre=$“Nombre{i}”
});
}
DataContext=list;
}
private void DataGrid_SelectionChanged(对象发送方,System.Windows.Controls.SelectionChangedEventArgs e)
{
如果(发送方是DataGrid)
{
DataGrid DataGrid=发送方作为DataGrid;
SomeObject selectedObject=dataGrid.SelectedItem作为SomeObject;
如果(selectedObject!=null)
{
string selectedId=selectedObject.Id;
}
}
}
}
内部类SomeObject
{
公共字符串Id{get;set;}
公共字符串Nombre{get;set;}
//...
}

勒布朗先生,我已经把代码应用到我的班上了,它现在工作得很好,谢谢你的帮助。