Как заставить все (или большинство) моих элементов использовать адаптивный макет в C# WPF?
Поэтому я использовал клавишу "*", чтобы разделить общую ширину на разные области, которые реагируют. Но очевидно, что я не могу использовать сетку везде, некоторые элементы ее не поддерживают и т. Д. Итак, мой вопрос в том, как сохранить гибкость этих элементов? Самый последний сценарий, в котором я наткнулся на эту проблему, - это попытка использовать ListView с внутренним GridView. Насколько я понимаю, GridView не поддерживает объявление столбцов GridView с процентной шириной и использует только фиксированное значение ширины. Что для этого нужно? Должно ли быть так? Мне бы очень хотелось сделать свой пользовательский интерфейс максимально гибким. Прямо сейчас меня смущает фиксированная ширина, потому что я разрабатываю пользовательский интерфейс для экрана 50 дюймов и 2160 пикселей. Однако мой экран, на котором я работаю, намного меньше (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>