WPF: видишь, что масштабируется до контейнеров больших размеров, свитков маленьких? - PullRequest
0 голосов
/ 07 июня 2011

Я строю элемент управления, изображающий диаграмму. Содержимое элемента управления (которое является довольно сложным) будет пытаться масштабироваться, чтобы соответствовать выделенному пространству, насколько это возможно. Однако не все шкалы действительны. Содержание не может сокращаться до бесконечности. Например. поле на диаграмме должно иметь ширину не менее 20 пикселей. Таким образом, когда окно слишком мало для размещения содержимого даже при минимальном размере, масштабирование должно прекратиться, и должны появиться полосы прокрутки.

Я не могу найти элегантное решение для этого в WPF. Любые идеи дизайна с благодарностью.

1 Ответ

0 голосов
/ 07 июня 2011

Установите Horizontal & VerticalAlignment содержимого на Stretch, но также установите MinWidth и MinHeight на соответствующие значения, поместите ваш контент в ScrollViewer, Horizontal & VerticalScrollBarVisibilityимеет значение Auto.

Это должно сработать, вероятно ...

Пример для выбранного средства просмотра XAML на лету (например, Kaxaml ):

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
        <Button
            MinHeight="400"
            MinWidth="400"
            HorizontalAlignment="Stretch"
            VerticalAlignment="Stretch"
            Content="Buttons!"/>
    </ScrollViewer>
</Window>
...