2013-01-18 127 views
1

在我看來的XAML文件,我有這樣一行:不能綁定到視圖的財產

TextBox Text="{Binding MyModel.Text}" 

每當我跑的程序,它給了我此錯誤消息:

System.Windows.Data Error: 40 : BindingExpression path error: 'MyModel' property not found on 'object' ''MyModel' (HashCode=56593137)'. BindingExpression:Path=MyModel.Text; DataItem='MyModel' (HashCode=56593137); target element is 'TextBox' (Name=''); target property is 'Text' (type 'String')

我我確定我的拼寫是正確的。

我將我的視圖的DataContext設置爲ViewModel。這可能是一個問題嗎?

回答

2

如果您DataContext設置爲MyModel你應該只需要編寫:

<TextBox Text="{Binding Text}"/> 

添加額外MyModel是重複的,結果在找MyModel.MyModel.Text

0

既然你視圖綁定到你的視圖模型(好),那麼你的視圖模型需要有您的視圖將綁定到一個屬性:

TextBox Text="{Binding MyViewModelsProperty}" 

在你的情況,你」你需要從你的視圖模型(MyViewModelsProperty setter)中設置你的模型的屬性。

讓我知道你是否需要更多信息。

+0

我在我的viewmodel中創建了一個「包裝器」屬性。 – user1447343

+0

但它看起來總是試圖找到模型中的屬性 – user1447343

+0

System.Windows.Data錯誤:40:BindingExpression路徑錯誤:'對象'''MyModel'(HashCode = 35353884)'上找不到'Textt'屬性。 BindingExpression:路徑= Textt; DataItem ='MyModel'(HashCode = 35353884);目標元素是'TextBox'(Name ='');目標屬性是'文本'(類型'字符串') – user1447343

0

只是TextBox Text="{Binding Text}"