Wpf 单个xaml文件中的MVVM双视图模型
我使用的是一个包含两个面板(左面板、右面板)的xaml文件。这意味着两种观点。 我还在每个视图中使用两个ViewModel。Wpf 单个xaml文件中的MVVM双视图模型,wpf,mvvm,Wpf,Mvvm,我使用的是一个包含两个面板(左面板、右面板)的xaml文件。这意味着两种观点。 我还在每个视图中使用两个ViewModel。 如何将DataContext绑定到这种情况?您可以更改树视图中任何子元素的DataContext 否则,将两个面板设置为各自的DataContext-它将优先于父容器(如窗口或用户控件)的DataContext。您可以更改树视图中任何子元素的DataContext 否则,将两个面板设置为各自的DataContext-它将优先于父容器(如窗口或用户控件)的DataConte
如何将DataContext绑定到这种情况?您可以更改树视图中任何子元素的DataContext
否则,将两个面板设置为各自的DataContext-它将优先于父容器(如窗口或用户控件)的DataContext。您可以更改树视图中任何子元素的DataContext
否则,将两个面板设置为各自的DataContext-它将优先于父容器(如窗口或用户控件)的DataContext。如果您有两个StackPanel,请尝试以下操作:
<StackPanel x:Name="spFirst" />
<StackPanel x:Name="spSecond" />
您有一个示例(DoubleDataContextExample.zip)。如果您有例如两个StackPanel,请尝试以下方法:
<StackPanel x:Name="spFirst" />
<StackPanel x:Name="spSecond" />
您有一个示例(DoubleDataContextExample.zip)。您需要每个示例都有自己的ViewModel。您可能已经有了一个包含多个ViewModels的视图。您是否有绑定到列表的ItemControl?我通常这样做 我将创建一个具有两个属性的ViewModel
public class ParentScreenViewModel : ViewModelBase
{
public ViewModelBase LeftPanel
{
get {...}
set {...}
}
public ViewModelBase RightPanel
{
get {...}
set {...}
}
}
然后XAML将绑定到以下各项:
<Panel x:Name="LeftPanel" DataContext="{Binding LeftPanel}" />
<Panel x:Name="RightPanel" DataContext="{Binding RightPanel}" />
无论如何,这就是我要做的。您需要每个视图都有自己的ViewModel。您可能已经有了一个包含多个ViewModels的视图。您是否有绑定到列表的ItemControl?我通常这样做 我将创建一个具有两个属性的ViewModel
public class ParentScreenViewModel : ViewModelBase
{
public ViewModelBase LeftPanel
{
get {...}
set {...}
}
public ViewModelBase RightPanel
{
get {...}
set {...}
}
}
然后XAML将绑定到以下各项:
<Panel x:Name="LeftPanel" DataContext="{Binding LeftPanel}" />
<Panel x:Name="RightPanel" DataContext="{Binding RightPanel}" />
无论如何,这就是我要做的。我试过这个,但不起作用。我无法将“视图模型”设置为“堆栈面板”。@Lakshmanan我为您创建了一个示例,它在我的答案的底部。我尝试了这个,但不起作用。我无法将视图模型设置为堆栈面板。@Lakshmanan我为您创建了一个示例,它在我的答案的底部。