我确信我在这里做错了,但是当我在模块中定义的视图中设置AutowireViewModel附加属性时,它无法自动连接视图模型。我没有看到实例化的视图模型。我的示例项目位于github(见下文)
<UserControl x:Class="MainModule.ToolbarWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mvvm="clr-namespace:Microsoft.Practices.Prism.Mvvm;assembly=Microsoft.Practices.Prism.Mvvm.Desktop"
mvvm:ViewModelLocator.AutoWireViewModel="True"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<StackPanel>
<Label>Test</Label>
<Label Content="{Binding Name}"></Label>
</StackPanel>
https://github.com/rohits79/PrismAutoWire/tree/master/Prism%20App/MainModule
请忽略https://github.com/rohits79/PrismAutoWire/blob/master/Prism%20App/Prism%20App/Bootstrapper.cs#L34
处的硬编码路径答案 0 :(得分:5)
你的命名空间错了。
namespace MainModule
[...]
public partial class ToolbarWindow
如果您不想更改默认解决方案,则视图必须位于Whatever.Views
和Whatever.ViewModels
中的视图模型。
所以将ToolbarWindow
移到MainModule.Views
,你就可以了。
BTW:Prism 6不再需要IView