2010-05-28 48 views
0

我试图为xbap应用程序实现mvvm设计模式但无法执行简单的文本绑定。在xbap mvvm实现中的问题

以下是我DemoViewModel.cs的定义,

类DemoViewModel:INotifyPropertyChanged的 { 字符串名称;

public event PropertyChangedEventHandler PropertyChanged; 

    public string Name 
    { 
     get 
     { 
      return name; 
     } 
     set 
     { 
      name = value; 
      OnPropertyChanged("Name"); 
     } 
    } 

    public DemoViewModel() 
    { 
     Name = "test"; 
    } 

    protected virtual void OnPropertyChanged(string propertyName) 
    { 
     if (this.PropertyChanged != null) 
     { 
      this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); 
     } 
    }   
} 

我结合视图中使用的视图后面代码视图模型,

公共DemoView() { 的InitializeComponent(); DataContext = new DemoViewModel(); }

以下是对存在于视图文本框绑定定义,

+0

xaml code for binding, 根据我'测试'应显示在执行时不显示的文本框。如果我在这里错了,请纠正 – Mstechuser1 2010-05-28 14:02:36

+0

我测试了你的代码,它完美的工作。我不确定发生了什么事。当您调试应用程序时,请检查您的输出窗口,数据绑定错误显示在其中。看看窗口中的任何消息是否有帮助。 – Agies 2010-05-29 02:20:03

+0

雅事情正在发生,因为预期不知道Ÿ文本没有显示在我的第一次EXEC ..反正非常感谢 – Mstechuser1 2010-06-01 08:33:13

回答

0

我看来,你拥有了一切迷上了正常。在执行过程中,看看你的'输出'窗口,看看它是否给你任何警告绑定。另外,尽量简化你的XAML中位以下,看看是否有所帮助:基于您的评论

<TextBox Text="{Binding Name, Mode=TwoWay}"/> 
+0

嘿抱歉延迟回复....事情正在按预期工作......但唯一的变化我所做的是使DemoViewModel类为公共.....但同样的绑定工作正常,作为WPF应用与DemoViewModel类作为私人...可以任何原因为什么视图模型类应该被公开为XBAP应用,而它不是必需的在WPF的情况下? – Mstechuser1 2010-06-01 09:05:18

0

,以JSPrang的回答,我知道什么是错=)

XBAP缺少权限使用反思,因此只能绑定到公共类,除非完全信任。