首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataGrid SelectedItem结合

DataGrid SelectedItem结合
EN

Stack Overflow用户
提问于 2012-01-17 14:45:46
回答 3查看 4.6K关注 0票数 2

下面是我的视图模型背后的代码:

代码语言:javascript
复制
private DataRow selectedErrorRow;
public DataRow SelectedErrorRow
{
    get { return selectedErrorRow; }
    set { selectedErrorRow = value; base.RaisePropertyChanged("SelectedErrorRow"); }
}

我认为:

代码语言:javascript
复制
<DataGrid SelectedItem="{Binding SelectedErrorRow,Mode=TwoWay}"

装订有点效果..。当绘制数据集时,它“获取”该值,但当选择/突出显示新值时,它从不设置该值.有什么想法吗?

注意:数据集的项源是DataTable.

编辑:数据集在PopUp中,当绘制数据集时,它将得到绑定值(null)。但是,一旦我选择/突出显示一个行,它就不会‘设置’任何东西。但是,当它重新绘制时,它将“设置”绑定值null (弹出窗口是打开的,我选择了一行,关闭它,然后重新打开它)。问题是,它从不将值设置为null以外的任何值,并且只在绘制的时间内设置值。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-18 13:15:37

我需要改变我所绑定的东西。它需要绑定到DataRowView而不是DataRow

票数 5
EN

Stack Overflow用户

发布于 2013-10-10 13:10:30

我以前有过这个问题,我自己解决了。

不直观地知道问题是什么,因为在调试中看不到真正的价值,但是当数据绑定到数据集上的DataTable时,首先您认为它有一个DataTable类型作为源,对吗?如果你这么想的话你就错了。

实际上,数据集或绑定(我仍然不知道它发生在哪里,因为我只在我的一侧看到了DataTable )对DataTable对象进行了强制转换/转换,比如DataTable.AsDataView(),将其本身转换为DataView,因此所选的项对我来说是有意义的DataRowView

我知道这是个老生常谈的问题,但这可能会让那些来到这里的人明白,并把值作为数据源,特别是转换器。

票数 0
EN

Stack Overflow用户

发布于 2012-08-21 20:17:21

试试这个:

代码语言:javascript
复制
DataGrid SelectedItem="{Binding Path=SelectedErrorRow,Mode=TwoWay}

这应该能解决你的问题。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8896569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档