Как мне сделать, чтобы все (или большинство) моих элементов использовали адаптивный макет в C # WPF? - PullRequest
0 голосов
/ 08 ноября 2019

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