2014-10-13 2 views
0

Возможно ли это реализовать (Скажем, у меня есть WPF DataGrid с 4-мя колоннами):WPF DataGrid: Column Минимальная ширина и горизонтальная полоса прокрутки

  1. Я хочу установить некоторые минимальные ширины к столбцам (но только для auto resize)
  2. После того, как окно уменьшилось ниже некоторого размера (меньше минимальной ширины всех столбцов)
  3. Но пользователь должен иметь возможность изменять размер столбца до нулевого размера, если это необходимо.

Почему я ищу это, если минимальная ширина установлена ​​равной нулю, при изменении размера окна столбцы сжимаются друг в друга, а пользовательский интерфейс выглядит очень плохо. И горизонтальная полоса прокрутки никогда не появляется.

Короче говоря, я ищу лучшую стратегию для реализации минимальной ширины и горизонтальной полосы прокрутки для datagrid.

ответ

0

Вот один пример того, как реализовать отзывчивый дизайн в 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> 
+0

@Anatolli, извините за возвращение очень поздно на этом. Что касается вопроса, я пытаюсь изменить минимальную ширину с помощью «DataTrigger» до некоторого другого значения после того, как Datagrid достигнет определенной ширины; Но он не работает (но он работает с обработчиком событий). Любая подсказка здесь? Также я не слишком уверен, что эта идея хороша, так как внезапно после изменения минимальной ширины все столбцы будут пытаться приспособиться к новой ширине, и у пользователя может возникнуть ощущение «Столбцы прыгают». – Ujjwal

Смежные вопросы