Когда не создавать шаблон для списка WPF …?

#wpf #templates #listbox

#wpf #шаблоны #список

Вопрос:

Я хочу представить коллекцию разных, но связанных типов данных и дать пользователю возможность редактировать их. Я не могу представить их в виде сетки, потому что каждый тип отличается и, следовательно, не подходит для макета сетки.

например
Type1 — свойства являются From, To, Threshold, Enabled
Type2 — свойства являются From, ExecutedPercent, Benchmark, Enabled
и т. д

Эти типы связаны, но отличаются, поэтому я подумываю о создании панели инструментов с типами вверху. Когда пользователь выбирает Type1, я генерирую пользовательский интерфейс, используя пользовательский ItemTemplate в ListBox, то же самое для Type2. Поэтому я заменяю ItemTemplate во время выполнения и меняю источник данных.

Вопросы:
1. Звучит ли это как разумный подход?
2. Имеет ли смысл использовать шаблон элемента ListBox?
3. Есть ли какие-либо другие элементы управления, о которых мне следует подумать при создании шаблонов здесь? Мне кажется, что ListBox является идеальным кандидатом для любого источника списка, когда необходимо отобразить все элементы.

Заранее спасибо

Ответ №1:

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

Если вам не нужен выбранный элемент в списке, а нужно только отображать элементы, тогда вам следует использовать ItemsControl вместо ListBox

Ответ №2:

вы можете использовать datatemplateselecter, поэтому вам не нужно устанавливать itemtemplate при переключении типа, просто измените источник данных.