【发布时间】:2011-02-22 17:59:01
【问题描述】:
我有一个 wpf-mvvm 应用程序。
我有一个基类 - baseViewModel...
还有另外两个继承这个基类的类
class aVM : baseViewModel
{
public string a {get;set;}
}
class bVM : baseViewModel
{
public string b {get;set;}
}
还有另一个类——作为主视图模型——绑定到主视图。
Class MainVM
{
public baseViewModel CurrentViewSource {get;set;}
}
还在 XAML 文件(视图)中 - 我有两个用户控件。但是这两者的数据上下文是相同的公共属性 - CurrentViewSource - 这是类型 - baseViewModel。
<---MainView start DataContext="MainVM" ----->
<---user control 1 satrt----->
<--DataContext = "CurrentViewSource " -->
// Here CurrentViewSource is of type aVM
<---user control 1 end ----->
<---user control 2 start----->
<-- DataContext = "CurrentViewSource " -->
// Here CurrentViewSource is of type bVM
<---user control 2 end----->
<---MainView end----->
我需要一次显示一个用户控件..并隐藏另一个。
由于两个用户控件 (UC) 使用相同的数据上下文变量“CurrentViewSource”,
如果 UC1 可见(UC2 隐藏)- CurrentViewSource 将是 aVM 类型...和 UC2(即使隐藏)..将其用作数据上下文 ..并且无法看到字符串 b。
...Visual Studio 显示一些绑定问题。请帮帮我
【问题讨论】: