Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.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/8/logging/2.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
Silverlight 如何更改数据上下文并重新渲染单个RadGridRow_Silverlight_Telerik_Datacontext_Radgrid_Radgridview - Fatal编程技术网

Silverlight 如何更改数据上下文并重新渲染单个RadGridRow

Silverlight 如何更改数据上下文并重新渲染单个RadGridRow,silverlight,telerik,datacontext,radgrid,radgridview,Silverlight,Telerik,Datacontext,Radgrid,Radgridview,在呈现完整网格后,我需要更改所选行的数据上下文,因为最初“简单”对象被填充为数据源,当选择单个项时(查看RowDetailsVisibilityChanged事件),然后我想将DataContext更改为复杂对象,这将比折叠行中显示更多的详细信息 使用GridViewRowDetailsEventArgs.DetailsElement.DataContext似乎可以实现在选择时展开到行下方的Details元素的技巧,但在更改GridViewRowDetailsEventArgs.DetailsE

在呈现完整网格后,我需要更改所选行的数据上下文,因为最初“简单”对象被填充为数据源,当选择单个项时(查看RowDetailsVisibilityChanged事件),然后我想将DataContext更改为复杂对象,这将比折叠行中显示更多的详细信息

使用GridViewRowDetailsEventArgs.DetailsElement.DataContext似乎可以实现在选择时展开到行下方的Details元素的技巧,但在更改GridViewRowDetailsEventArgs.DetailsElement.DataContext或GridViewRowDetailsEventArgs.row.DataContext时标题(列)保持不变,并且值不会更新


(想象一下,折叠行的列绑定到Name,其中Name是“John”,展开时,row.DataContext被更改为属性名为“John ruop”的对象,但列仍然显示“John”)。

好的,我找到了一个解决方案,看起来很简单

所以。。。将事件处理程序连接到RadGridView.RowDetailsVisibilityChanged,并在事件处理程序本身中更改所提供行的项属性:

private void OnRowDetailsVisibilityChanged(object sender, GridViewRowDetailsEventArgs e)
{
       e.Row.Item = (my New Data);
}

现在唯一的问题是该行不再可单击(选择该行时,详细信息不再展开)。

好的,我找到了一个解决方案,看起来很简单

所以。。。将事件处理程序连接到RadGridView.RowDetailsVisibilityChanged,并在事件处理程序本身中更改所提供行的项属性:

private void OnRowDetailsVisibilityChanged(object sender, GridViewRowDetailsEventArgs e)
{
       e.Row.Item = (my New Data);
}
现在唯一的问题是该行不再可单击(选择该行时,详细信息不再展开)