Другой вариант с меньшим количеством кода будет состоять в том, чтобы определить два ListBox, каждый со своими собственными шаблонами и привязанный к своим собственным коллекциям. Определите их каждый в том же физическом пространстве и просто управляйте тем, какой виден в зависимости от вашего состояния. Вы даже можете сделать это с помощью Visual State Manager и пользовательских состояний.

ли связать элемент управления с холстом в качестве шаблона для нескольких шаблонов данных?

У меня есть 2 коллекции, и в зависимости от типа я хотел бы показать другой элемент управления на моем холсте.

Я не уверен, но я мог бы подумать о Viewmodel, который имеет 2 ObservableCollections. Например, если у меня будут «Фигуры» и «Связи», и я хотел бы отобразить их обоих на холсте? В случае сценария построения диаграммы ...

Я хотел бы сделать это способом mvvm, и я не уверен, что подход с несколькими DataTemplate является правильным, но это пришло мне на ум. Но у меня все еще есть проблемы, чтобы получить привязку прямо в моей голове. Если я установлю для DataContext значение ViewModel, мне не удастся связать 2 коллекции с элементом управления ... = (Я тоже открыт для других идей ....

Это возможно? И если да, то как будет выглядеть привязка

Ответы на вопрос(4)

Ваш ответ на вопрос