ViewModel位置进入子文件夹(XAML,命名空间)

时间:2017-05-11 07:31:35

标签: wpf xaml mvvm namespaces viewmodel

进入MainWindow.xaml我有:

<Window x:Class="LayoutMVVM.MainWindow"
        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"
        ResizeMode="NoResize"

        xmlns:local="clr-namespace:LayoutMVVM"
        xmlns:veiwmodels="clr-namespace:LayoutMVVM.ViewModels"        
        xmlns:views="clr-namespace:LayoutMVVM.Views"

        Title="Layout" Height="750" Width="650">

进入Windows.Resources我正在绑定dataContext:

 <Window.Resources>
        <DataTemplate x:Name="SettingsTemp" DataType="{x:Type veiwmodels:SettingsModel}">
            <views:SettingsView DataContext="{Binding}" />
        </DataTemplate>
  </Window.Resources>

但是当我的其他模型和视图位于子文件夹中时如下:

enter image description here

我做不到:

 <DataTemplate x:Name="OpenTemp" DataType="{x:Type ViewModels:Open.OpenModel}">
    <views:Open.OpenView DataContext="{Binding}" />
 </DataTemplate>

或LayoutMVVM.ViewModels.Open.OpenModel

或LayoutMVVM / ViewModels / Open / OpenModel

1 个答案:

答案 0 :(得分:1)

您应该在控件标题中添加新的:

xmlns:veiwmodelsOpen="clr-namespace:LayoutMVVM.ViewModels.Open   

或者您可以将OpenModel的命名空间设置为 LayoutMVVM.ViewModels LayoutMVVM.ViewModels.Open )。

我认为没有别的办法了。