Как к размеру относительного масштаба Пользовательского элемента управления?

Создайте новый контроллер, названный так соответственно, как Вы можете. SummaryController? StartController? DailyFrontPageController? У Вас будет идея.

Не только, что, я серьезно считал бы создание новой Модели, не находящимся в ActiveRecord, который собирает информацию из Ваших моделей Author и Post (или независимо от того, что их настоящие имена) для представления в Вашем представлении. Альтернатива должна собрать данные в контроллере, который почти наверняка будет грязен - это был каждый раз, когда я попробовал его, и я попробовал его много. Отдельная модель, кажется, заканчивается намного более опрятная.

, Если обработка относительно проста, почему бы не попытаться создать данные в контроллере сначала, то обертывают вывод в Структуру, то заменяют Структуру реальным классом и перемещают конструкцию туда, осуществляя рефакторинг полностью. Это не должно добавлять слишком много к общему времени (большая часть кода может быть снова использована), и Вы получите хорошую идею какой работы лучше всего для Вас.

23
задан Glorfindel 21 April 2019 в 19:50
поделиться

2 ответа

Вы можете попробовать элемент управления ViewBox, который масштабирует вверх / вниз его содержимое, чтобы заполнить доступное пространство.

<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication1"
Title="Window1">
<Grid>
    <Viewbox StretchDirection="Both" Stretch="Uniform">
        <local:UserControl1 Height="600" Width="600"/>
    </Viewbox>
</Grid>

32
ответ дан 29 November 2019 в 01:55
поделиться

Использование Viewbox (как сказал Милан Нанков) - отличная идея. Я должен вас предупредить, что он также увеличивает или уменьшает другие визуальные аспекты.

Например, текстовое поле размером 200 X 1000 сильно отличается от текстового поля с размером 20 X 100, увеличенным в 10 раз.

WPF предоставляет множество вариантов компоновки, которые могут изменять размер элементов управления в соответствии с размером контейнера. Но это не меняет размер текста. Viewbox решает эту проблему, но создает другую проблему. Посмотрите на изображение ниже, которое показывает одно и то же текстовое поле в окне просмотра до и после масштабирования.

Artifacts introduced by the use of viewbox

Один из приемов, который можно использовать, - это разместить каждый текстовый блок в окне просмотра. Но я думаю, это было бы излишним, и я серьезно не поддерживаю этот трюк. Пожалуйста, проверьте сами и ответьте, практично это или нет.

Еще одна уловка может заключаться в привязке высоты элемента управления к размеру шрифта. В этом случае нам понадобится конвертер. См. Этот ответ .. Изменить размер шрифта в текстовом поле в сетке

5
ответ дан 29 November 2019 в 01:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: