2010-05-28 28 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缺少權限使用反思,因此只能綁定到公共類,除非完全信任。