我正在尝试显示Silverlight DataGrid
的RowDetailsTemplate,具体取决于绑定到bool
控件的CheckBox
属性的IsChecked
属性。在我的RowDetailsTemplate中,有一个自定义UserControl
,包含更多控件。
由于DataGrid
仅允许全局设置(RowDetailsVisibilityMode
),因此需要一些代码隐藏。我已经实施了一个基于 Rorys Reply (并使用行为技术)的解决方案,该解决方案实际上有效。
不幸的是,DataGrid
不记得排序时单独显示或隐藏的行。复选框保持选中状态,但Row会折叠。此外,似乎不存在像“OnAfterSort”或类似的事件,我可以在循环中“刷新”可见性设置。
另一个想法是将我的自定义详细信息的可见性 - UserControl
绑定到CheckBox绑定值。这实际上有效(当将RowDetailsVisibilityMode设置为“Visible”时),但我无法摆脱这种奇怪的行为:当选中CheckBox时,详细模板会展开并显示详细的UserControl。尼斯。再次取消选中CheckBox时,UserControl将消失(可见性设置为Collapsed
)但行不会折叠且空白仍然存在(因为它将设置为Hidden
而不是{{1} })。
你有什么想法吗?
我希望我没有发布任何代码示例,实现非常简单,我相信问题实际上并不在于我所犯的编码错误。您可以像 this perfect MSDN Example 一样快速设置简单的DataGrid。从这里开始,很容易测试两种描述的行为!
非常感谢提前,
- 托马斯