Масштабировать usercontrol в wpf? вертикальные и горизонтальные полосы прокрутки - PullRequest
1 голос
/ 06 мая 2011

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

Спасибо

1 Ответ

1 голос
/ 06 мая 2011

Предположение
Поведение, которое вы описываете, не обязательно является поведением макета по умолчанию в WPF.Это зависит от используемых вами элементов управления макетом.Я предполагаю, что вы используете Grid с настройкой его столбцов и строк в Start (*) - GridLengths.Это будет иметь более или менее такой эффект, как вы описываете (без масштабирования).Или, может быть, вы используете ViewBox , этот элемент управления масштабирует все содержимое на основе доступного размера макета.
Решение
Я думаю, что упаковкавесь ваш контент в ScrollViewer , вероятно, будет делать то, что вы хотите.Если нет, я предлагаю вам опубликовать некоторый XAML-код, чтобы показать нам, как вы создали свой контент.

<ScrollViewer>
    <YourContent>

    </YourContent>
</ScrollViewer>

Обновление
Если вы действительно масштаб ваше окно (с применением ScaleTransformation) и вы хотите, чтобы ваш UserControl был единственным элементом управления, который не масштабируется, вы должны масштабировать свой UserControl в противоположном направлении, как вы это сделали с вашим окном.Примените ScaleTransformation и установите значения масштаба на 1 / масштаб.Или попробуйте использовать ViewBox, чтобы взорвать содержимое вашего UserControl, но это будет не очень точно.

...