C# 将WPF xaml绑定到ViewModel而不构造它
我的WPF应用程序未使用app.xaml。我正在使用MVVM,并分别构建视图和视图模型。然后,我将ViewModel传递给视图构造函数,并在那里设置datacontext 我希望VisualStudio能够理解viewmodel在上下文单击等方面的属性,但不能让它在设置视图时构造自己的DataContext 当我这样做时,它会强制我为MainViewModel拥有一个默认构造函数,然后在我构造视图时调用该VM构造函数C# 将WPF xaml绑定到ViewModel而不构造它,c#,wpf,xaml,mvvm,C#,Wpf,Xaml,Mvvm,我的WPF应用程序未使用app.xaml。我正在使用MVVM,并分别构建视图和视图模型。然后,我将ViewModel传递给视图构造函数,并在那里设置datacontext 我希望VisualStudio能够理解viewmodel在上下文单击等方面的属性,但不能让它在设置视图时构造自己的DataContext 当我这样做时,它会强制我为MainViewModel拥有一个默认构造函数,然后在我构造视图时调用该VM构造函数 <Window x:Class="Kraken.CopFeed.Wind
<Window x:Class="Kraken.CopFeed.Windows.MainFeedView"
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"
xmlns:Windows="clr-namespace:MyProgram.MainApp.WpfWindows"
mc:Ignorable="d"
Title="Main App" Height="321.557" Width="652.922">
<Window.DataContext>
<Windows:MainViewModel />
</Window.DataContext>
我如何保持现有的分别构建V和VM的实现,但让Visual STudio中的XAML编辑器知道我的ViewModel(最终)将被设置为数据上下文?我认为您应该能够使用
d:DesignInstance
实现这一点,如中所示
我认为您应该能够使用
d:DesignInstance
完成这项工作,如中所示
我想有人说你可以用d:DesignInstance
Hot该死,DesignInstance就是这么做的。你能补充一下答案吗?我想有人说你可以用d:DesignInstance
Hot该死,DesignInstance就是这么做的。你能补充一下答案吗?是否有必要创建DesignTimeCreatable?我没有设置它,它似乎工作得很好。我引用的是一个具体的视图模型,而不是一个界面。找不到关于IsDesignTimeCreatable的确切信息。我只是把它包括在内,因为粘贴整个东西比测试它更容易。如果没有它对您来说效果很好的话,我会取消它。isdesigntimecreateable
对于intellisense来说不是必需的,只有当您想在图形设计器中查看数据时。isdesigntimecreateable是必需的吗?我没有设置它,它似乎工作得很好。我引用的是一个具体的视图模型,而不是一个界面。找不到关于IsDesignTimeCreatable的确切信息。我只是把它包括在内,因为粘贴整个东西比测试它更容易。如果没有它对您来说效果很好的话,我会取消它。IsDesignTimeCreatable
对于intellisense来说不是必需的,只有当您希望在图形设计器中查看数据时。
<Window
...etc...
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DataContext="{d:DesignInstance Type=MyViewModelNamespace:MyViewModel}"
>