所以我使用“*”键将总宽度划分为不同的响应区域。但显然我不能到处使用网格,有些元素不支持它等等。所以我的问题是如何保持这些元素的灵活性?我偶然发现这个问题的最新情况是当我尝试使用带有内部 GridView 的 ListView 时。据我了解,GridView 不支持使用宽度百分比声明 GridView 列,仅使用固定的 Width 值。什么是解决方法?一定要这样吗?我真的很想让我的 UI 尽可能灵活。现在,固定宽度让我感到困惑,因为我正在为 50" 2160p 屏幕设计 UI。但是,我正在设计的屏幕要小得多(13" 1080p),因此元素被按比例缩小,我无法真正使用它。这是我正在寻找的示例或理想场景的示例。
当前情景
<ListView ItemsSource="{Binding NotApprovedChanges}" Margin="40 90 40 40" FontSize="26" Name="nonApprovedChangesList">
<ListView.View>
<GridView>
<GridViewColumn HeaderContainerStyle="{StaticResource ListViewStyle}" Header="ID" Width="150" DisplayMemberBinding="{Binding Id}" />
<GridViewColumn HeaderContainerStyle="{StaticResource ListViewStyle}" Header="Requester" Width="200" DisplayMemberBinding="{Binding Requester}" />
<GridViewColumn HeaderContainerStyle="{StaticResource ListViewStyle}" Header="Date" Width="250" DisplayMemberBinding="{Binding Date}" />
</GridView>
</ListView.View>
</ListView>
我在寻找什么
<ListView ItemsSource="{Binding NotApprovedChanges}" Margin="40 90 40 40" FontSize="26" Name="nonApprovedChangesList">
<ListView.View>
<GridView>
<GridViewColumn HeaderContainerStyle="{StaticResource ListViewStyle}" Header="ID" Width="*" DisplayMemberBinding="{Binding Id}" />
<GridViewColumn HeaderContainerStyle="{StaticResource ListViewStyle}" Header="Requester" Width="2*" DisplayMemberBinding="{Binding Requester}" />
<GridViewColumn HeaderContainerStyle="{StaticResource ListViewStyle}" Header="Date" Width="*" DisplayMemberBinding="{Binding Date}" />
</GridView>
</ListView.View>
</ListView>
或者
<ListView ItemsSource="{Binding NotApprovedChanges}" Margin="40 90 40 40" FontSize="26" Name="nonApprovedChangesList">
<ListView.View>
<GridView>
<GridView.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="2* />
<ColumnDefinition Width="*" />
</GridView.ColumnDefinitions>
<GridViewColumn HeaderContainerStyle="{StaticResource ListViewStyle}" Header="ID" GridView.Column="0" DisplayMemberBinding="{Binding Id}" />
<GridViewColumn HeaderContainerStyle="{StaticResource ListViewStyle}" Header="Requester" GridView.Column="1" DisplayMemberBinding="{Binding Requester}" />
<GridViewColumn HeaderContainerStyle="{StaticResource ListViewStyle}" Header="Date" GridView.Column="2" DisplayMemberBinding="{Binding Date}" />
</GridView>
</ListView.View>
</ListView>