【发布时间】:2014-12-08 04:20:58
【问题描述】:
这是否可以实现(假设我有 4 列的 WPF Datagrid):
- 我想为列设置一些最小宽度(但仅用于自动调整大小)
- 一旦窗口,缩小到某个尺寸以下(小于所有列的最小宽度之和)
- 但如果需要,用户应该能够将列大小调整为零。
我为什么要找这个,如果最小宽度设置为零,在调整窗口大小时,列会相互挤压,UI 看起来很糟糕。并且水平滚动条永远不会出现。
简而言之,我正在寻找实现数据网格最小宽度和水平滚动条的最佳策略。
【问题讨论】:
这是否可以实现(假设我有 4 列的 WPF Datagrid):
我为什么要找这个,如果最小宽度设置为零,在调整窗口大小时,列会相互挤压,UI 看起来很糟糕。并且水平滚动条永远不会出现。
简而言之,我正在寻找实现数据网格最小宽度和水平滚动条的最佳策略。
【问题讨论】:
以下是如何在WPF 和xaml 中实现响应式设计的一个示例:
A XAML implementation of CSS responsive design (WPF, WinRT, WP8) 。
另一种选择是使用DataTriggers 和Converters 以适应布局更改取决于父项ActualWidth:
<DataTrigger Value="True" Binding="{Binding ActualWidth, ElementName=[parentElement], Converter={StaticResource isSizeLessThan}, ConverterParameter=200}">
<!-- Change layout -->
</DataTrigger>
【讨论】: