gpt4 book ai didi

c# - 如何在C#中从DataGrid中获取selectedRow数据

转载 作者:太空宇宙 更新时间:2023-11-03 21:02:01 24 4
gpt4 key购买 nike

我正在将字典绑定(bind)到我的 DataGrid。现在我想从 DataGrid 中获取选定的行。这是我到目前为止尝试过的方法。

Dictionary<int, string> dicKeyValue = new Dictionary<int, string>();

public MainWindow()
{
InitializeComponent();

dataGrid.DataContext = dicKeyValue;

dicKeyValue.Add(1, "INDIA");
dicKeyValue.Add(2, "CHINA");
dicKeyValue.Add(3, "AMERICA");
dicKeyValue.Add(4, "RUSSIA");

}

private void dataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var sample = (sender as DataGrid).SelectedItem as ******
// Here in the above line what should I write to get the values of selected row.

if (sample != null)
{

}


}

在调试时我在立即窗口中尝试了这个......

((sender as DataGrid).SelectedItem)
{[8, SCAN]}
Key: 8
Value: "SCAN"
key: 8
value: "SCAN"

现在你们可以帮助我如何访问这个...

我的问题可能类似于 this ,但在我的问题中,我想知道可以将 SelectedItem 类型转换为的正确类型。

最佳答案

Dictionary<TKey, TValue>继承ICollection<KeyValuePair<TKey, TValue>>所以你的项目类型应该是 KeyValuePair<int, string> .出于转换目的,您可以使用 Nullable<T> :

var item = dataGrid.SelectedItem as KeyValuePair<int, string>?;
if (item.HasValue) // use item.Value

但是,使用 dataGrid.SelectedValuePath = "Key" 可能是值得的然后引用dataGrid.SelectedValue而不是 SelectedItem .

关于c# - 如何在C#中从DataGrid中获取selectedRow数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44626741/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com