我的视图(InformationView)绑定到InformationViewModel并且我使用嵌套类来维护当前的Bank
我的嵌套类:
public class MainController : NotificationObject
{
public MainController()
{
Initialize();
}
private void Initialize()
{
// TODO implement
}
public static MainController Instance
{
get { return Nested.instance; }
}
private BankModel _currentBank;
public BankModel CurrentBank
{
get { return _currentBank; }
set
{
if (_currentBank== value)
{
return;
}
_currentBank= value;
RaisePropertyChanged(() => CurrentBank);
}
}
private class Nested
{
static Nested()
{
}
internal static readonly MainController instance = new MainController();
}
}
我的BankModel:
private string _name ="test";
public string Name
{
get
{
return _name;
}
set
{
if (_name == value)
{
return;
}
_name= value;
RaisePropertyChanged(()=>Name);
}
}
我的XAML
xmlns:Controller="clr-namespace:MyProject.Controller"
/****/
<Label Content="{Binding Controller:MainController.CurrentBank.Name}"/>
首先,我无法看到&#34;测试&#34;在我的标签中,如果我执行,我改变了这个值,并且我的标签总是空的,我是如何用正确的方法做到的
答案 0 :(得分:3)
您需要在绑定声明中使用“Path”和“Source”的组合。您还需要提醒绑定引擎您正在访问静态成员。
<Label Content="{Binding Source={x:Static Controller:MainController.Instance}, Path=CurrentBank.Name}" />