【发布时间】:2009-08-07 17:07:57
【问题描述】:
我想将我的 RowDetailsTemplate 的宽度绑定到我的 DataGrid 的宽度,这样行详细信息就不会被滚动条包围。
请注意,RowDetailsTemplate 包含必须滚动到视图中的隐藏内容 - 这很糟糕。用户必须拖动 DataGrid 最底部底部的滚动条才能查看该行的其余详细信息 - 这是非常不直观的。我真的希望行详细信息来布局其内容,这样就不需要滚动了。
有什么建议吗?
谢谢,
查尔斯
【问题讨论】:
我想将我的 RowDetailsTemplate 的宽度绑定到我的 DataGrid 的宽度,这样行详细信息就不会被滚动条包围。
请注意,RowDetailsTemplate 包含必须滚动到视图中的隐藏内容 - 这很糟糕。用户必须拖动 DataGrid 最底部底部的滚动条才能查看该行的其余详细信息 - 这是非常不直观的。我真的希望行详细信息来布局其内容,这样就不需要滚动了。
有什么建议吗?
谢谢,
查尔斯
【问题讨论】:
我确实在 WPF 中找到了类似问题的解决方案,您可以在这里找到它:DataGrid RowDetails Width problem
我不知道它是否适用于 Silverlight,但请尝试一下。
这里的答案感觉像是一种解决方法,所以我做了一些研究并做了 在 Telerik 论坛上找到解决方案,因为我们使用他们的 辐射网格视图。结果证明该解决方案也适用于 DataGrid。
关键是设置ScrollViewer.HorizontalScrollBarVisibility 属性禁用,请参见下面的示例。
<DataGrid ScrollViewer.HorizontalScrollBarVisibility="Disabled"> <DataGrid.RowDetailsTemplate> <DataTemplate> <Border> <TextBlock Foreground="White" Text="{Binding RowDetails}" TextWrapping="Wrap"/> </Border> </DataTemplate> </DataGrid.RowDetailsTemplate> </DataGrid>
【讨论】:
将我的DataGrid 上的AreRowDetailsFrozen 属性设置为true 解决了我的问题。示例:
<data:DataGrid AreRowDetailsFrozen="True" />
【讨论】:
ColumnWidth 和 CanUserResizeColumns 的值是多少?