C# 如何向DataGridRowGroupHeader添加其他数据?
我有一个C# 如何向DataGridRowGroupHeader添加其他数据?,c#,silverlight,datagrid,silverlight-3.0,C#,Silverlight,Datagrid,Silverlight 3.0,我有一个DataGrid,它通过带有一个组定义的PagedCollectionView显示一些数据。我为相应的DataGridRowGroupHeader创建了样式,在该样式下我添加了一个ControlTemplate,其中包含一个额外的TextBlock和一个间距矩形。我希望将这些控件的宽度绑定到特定列的宽度,但我正在努力使其正常工作。我还想将TextBlock的Text属性绑定到一个值 我尝试通过参考资料中矩形的Width属性绑定宽度,但没有成功(可能是因为矩形从未绘制,因此没有计算其布局)
DataGrid
,它通过带有一个组定义的PagedCollectionView
显示一些数据。我为相应的DataGridRowGroupHeader
创建了样式
,在该样式下我添加了一个ControlTemplate
,其中包含一个额外的TextBlock
和一个间距矩形
。我希望将这些控件的宽度绑定到特定列的宽度,但我正在努力使其正常工作。我还想将TextBlock
的Text
属性绑定到一个值
我尝试通过参考资料中矩形
的Width
属性绑定宽度,但没有成功(可能是因为矩形
从未绘制,因此没有计算其布局)
但是,我相信这两组绑定都可以通过使用一个或多个
ValueConverter
实现来执行,但是我想知道是否有更好的方法。通过定义ControlTemplate
,可以实现这一点吗?经过一些尝试和错误,我能够自定义行组标题。解锁解决方案的关键涉及RowGroupHeaderStyles
属性和DataGrid
上的LoadingRowGroup
事件
通过为组定义一个或多个样式,我能够自定义控件模板以包含其他命名元素。然后,我使用事件来访问这些元素,并设置或绑定相关值以显示所需的信息。我遇到的唯一障碍是绑定控件的大小,我最终通过保存对每一行的引用并在需要刷新控件时设置这些大小来解决,而不是依赖绑定。这可能是特定于我的项目,因此您的里程数可能会有所不同
更新询问如何让控件在
LoadingRowGroup
事件处理程序中执行绑定等。您可以从事件参数的DataGridRowGroupHeaderEventArgs.RowGroupHeader
属性获取行标题,然后使用获取标题的子控件。一旦有了这些控件,就可以像绑定任何其他控件一样在代码中绑定它们。最初由JDM询问:Jeff,如何访问这些元素(例如ToogleButton或Textblock),并设置或绑定相关值以显示所需信息,在LoadingRowGroup事件中?如何获取LoadingRowGroup中的header属性值。请输入您的代码。@HukmChand:很抱歉,我写的信息不正确。我已经改正了。