我知道有一堆像這樣的其他類似的SO帖子,但似乎沒有我的場景,我綁定到一個類屬性,AND其他屬性工作正好。我正在使用MVVM模式,其中我的viewmodel在C++/cli。由於其他屬性起作用,它不是我的視圖的DataContext
。我有一個IsEnabled
Button
綁定到我的ViewModel中的布爾。現在,當試圖綁定到類似的東西,WPF綁定到類屬性的錯誤,當其他屬性工作正常
private:
bool thing = false;
public:
bool Thing
{
bool get() { return thing; }
void set(bool value) { thing = value; }
}
它工作得很好。但後來我做這樣的事情,
public ref class MyThingClass
{
private:
bool isEnabled = false;
public:
bool IsEnabled
{
bool get() { return thing; }
void set(bool value) { thing = value; }
};
};
public:
//Not sure if I need a handle (^) on this or not
MyThingClass MyThing;
//XAML
<Button x:Name="MyButton" IsEnabled="{Binding MyThing.IsEnabled}"/>
決定的東西打破,屬性不綁定,並在輸出我得到System.Windows.Data Error: 40 : BindingExpression path error: 'MyThing ' property not found on 'object' ''MyViewModel' (HashCode=66641179)'. BindingExpression:Path=MyThing.IsEnabled; DataItem='MyViewModel' (HashCode=66641179); target element is 'Button' (Name='MyButton'); target property is 'IsEnabled' (type 'Boolean')
請提問,如果我留下什麼東西了,或者說沒有按」沒有意義。
好吧,顯然我需要改變我的問題。我的ViewModel實際上是在C++/CLI中,所以這種方法不能直觀地移植。我真的很抱歉改變了事情,我認爲事情會變得更好,而且C#更易於編寫/讀取。 –
@SanjayCruze我會關閉/接受它,並提出一個新的問題,顯示實際的代碼(或者至少在C++/CLI中的代碼) –
嗯,只是改變它。我是否應該改回它,接受這個答案,並提出一個新的問題? –