进入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我绑定(bind)了dataContext:
<Window.Resources>
<DataTemplate x:Name="SettingsTemp" DataType="{x:Type veiwmodels:SettingsModel}">
<views:SettingsView DataContext="{Binding}" />
</DataTemplate>
</Window.Resources>
但是,当我的其他模型和 View 位于以下子文件夹中时:
我不能:
<DataTemplate x:Name="OpenTemp" DataType="{x:Type ViewModels:Open.OpenModel}">
<views:Open.OpenView DataContext="{Binding}" />
</DataTemplate>
或LayoutMVVM.ViewModels.Open.OpenModel
或LayoutMVVM/ViewModels/Open/OpenModel
最佳答案
您应该在控件的标题中添加一个新的:
xmlns:veiwmodelsOpen="clr-namespace:LayoutMVVM.ViewModels.Open
或者,您可以将OpenModel的命名空间设置为LayoutMVVM.ViewModels(而不是 LayoutMVVM.ViewModels.Open)。
我认为没有其他办法。
关于wpf - ViewModel位置放入子文件夹(XAML, namespace ),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43909156/