Что самый легкий путь состоит в том, чтобы разбить большие файлы XAML в моем приложении?

Редактировать: Как сказано в комментариях, следующее УБРОСИТ ВАШУ БАЗУ ДАННЫХ

Более простой подход, который сработал для меня (обратите внимание, что эта команда удалит базу данных и все ваши данные будут потеряны):

rake db:migrate:reset

.., а затем:

rake db:migrate:status

Сирота (и) должны исчезнуть.

10
задан stevosaurus 4 June 2009 в 13:48
поделиться

3 ответа

Вы правы, разделение вещей на отдельные элементы управления может помочь уменьшить размер отдельных файлов xaml. Другой способ уменьшить размер файлов - использовать ResourceDictionaries . Когда вы разделяете стили, шаблоны и ресурсы на отдельные ResourceDictionaries, это может значительно уменьшить размер xaml-файлов вашего окна и элемента управления. После того, как материал разделен, вы можете использовать функцию MergedDictionaries для доступа к стилям и шаблонам из любого места, где они вам нужны. Если конкретный ресурс используется в нескольких окнах и элементах управления, вы также можете объединить его ResourceDictionary с ресурсами App.xaml, что позволит использовать его из любого места в решении.

Лично мне нравится сохранять каждый файл XAML до ~ 300 или менее строк, после этого я посмотрю, есть ли лучший способ организовать это. Здесь '

9
ответ дан 4 December 2019 в 01:03
поделиться

Также для создания тем / стилей избегайте добавления стилей на уровне элемента управления / отдельного пользователя, лучше пусть theme.xaml обрабатывает скиннинг напрямую, чтобы у вас не было слишком много информации о стилях внутри Xaml.

ie можно избежать, напрямую применив стиль к MyControl в файле темы, таким образом у вас будет только в Window.xaml

1
ответ дан 4 December 2019 в 01:03
поделиться

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

В дополнение к этому, DataTemplates также могут быть полезны. Например, предположим, что у вас есть несколько полей, которые необходимо ввести, и все эти поля имеют метки. В этом случае вы можете создать класс с двумя свойствами: одно для метки, а другое - для значения этого поля. Затем вы можете создать DataTemplate для этого класса, который привяжет метку к TextBlock, а значение - к TextBox. Если вы хотите, чтобы все метки совпадали, вы можете создать Grid SharedSizeScope. После того, как вы это сделаете, затем вы можете создать ObservableCollection этого класса, заполнить коллекцию метками и значениями, а затем установить для него ItemsSource элемента ItemsControl. После того, как вы получите начальные сведения об этом, формы ввода данных могут быть созданы намного быстрее, чем в WinForms.

1
ответ дан 4 December 2019 в 01:03
поделиться
Другие вопросы по тегам:

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