2013-03-22 5 views
1

Я разрабатываю приложение для хранения Windows 8, содержащее вид профиля. В представлении профиля у меня есть ListView, который привязывается к коллекции Observable объектов в ViewModel. У меня также есть свойство в модели представления, называемой currentObject.Выбор ItemTemplate из ViewModel

Что мне нужно, чтобы выбрать другой шаблон элемента для объекта в коллекции, который имеет тот же идентификатор, что и currentObject. Метод для этого в viewmodel прост, однако я не уверен, как запустить метод и вернуть имя шаблона элемента в свойство выбора шаблона listview в модели представления.

Я использую C#, MVVM и caliburn.micro, поэтому я бы предпочел оставить этот код вне кода.

Любые предложения?

+1

Этот ответ работает на вас? http://stackoverflow.com/a/15354043/1822514 –

+0

Это должно сделать трюк, спасибо! –

+0

не забудьте перекрыть связанный ответ, если вы сочтете это полезным. –

ответ

0

Существует более простой способ сделать это, чем использовать DataTemplateSelector, как показано в ответе в вышеприведенном комментарии, если вы используете DataTemplates в XAML, вы можете использовать атрибут DataType, вы используете это, чтобы связать DataTemplate с (он должен быть ViewModel). Поэтому когда когда-либо тип встречается с помощью механизма рендеринга, он знает, какой шаблон данных выбрать.

<DataTemplate DataType="{x:Type vm:MyViewModel}"> 
</DataTemplate> 
Смежные вопросы