so in klassischen MVVM Beispiele ive gesehen DataTemplate-Definitionen werden verwendet, um View-Modelle zu Ansichten abzubilden, was ist der Standard Weg, dies in MVVM Light Framework zu tun, und wo sollen die Mappings liegen? Nachfolgend einige Beispiele für das, was ich gerade tue und worüber ich spreche: Mischbarkeit ist mir wichtig!Was ist die Standardkonvention für die Definition von verschachtelten View: viewmodel Mapping in MVVM Light
Hauptfenster:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
x:Class="STS2Editor.MainWindow"
Title="{Binding ApplicationTitle, Mode=OneWay}"
DataContext="{Binding RootViewModel, Source={StaticResource Locator}}">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Skins/ApplicationSkin.xaml" />
<ResourceDictionary Source="Resources/ViewMappings.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Grid>
<ContentControl Content="{Binding ApplicationManagementViewModel}" HorizontalAlignment="Left" VerticalAlignment="Top"/>
</Grid>
</Window>
In dem obigen Code, meine RootViewModel Klasse hat eine Instanz der Klasse ApplicationManagementViewModel mit demselben Eigenschaftsname:
public ApplicationManagementViewModel ApplicationManagementViewModel {get {...} set {...} }
ich verweisen auf die Resource „ViewMappings.xaml "um festzulegen, wie mein Ansichtsmodell als Ansicht dargestellt wird.
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:STS2Editor.ViewModel">
<DataTemplate DataType="{x:Type local:ApplicationManagementViewModel}">
<local:ApplicationManagementView/>
</DataTemplate>
</ResourceDictionary>
sollte ich solche Dinge mit ViewModelLocator tun? Was ist mit Sammlungen von Ansichtsmodellen?
Ich realisiere eines der großen Probleme mit MVVM ist ein LACK einer einheitlichen Methodik. – Firoso
Ich glaube nicht, dass es eine Frage von MVVM per se ist. Es ist ein Muster mit mehreren Implementierungen. Gleiches gilt für MVC oder andere. Ich halte das nicht für ein Problem, es hängt wirklich von der Situation und dem Problem ab, das Sie zu lösen versuchen. – LBugnion
Ich habe sehr ähnliche Fragen. Also DataTemplates sind gut genug für WPF? Ich möchte eine Art von Prismenregionen, aber ohne Prisma. – nportelli