爲什麼XAML綁定成功到這在我的視圖模型:WPF綁定到數據上下文
private string _testStr = "Test";
public string TestStr
{
get { return _testStr; }
}
但並不是這樣:
public string TestStr = "Test";
我缺少的東西?
謝謝。
爲什麼XAML綁定成功到這在我的視圖模型:WPF綁定到數據上下文
private string _testStr = "Test";
public string TestStr
{
get { return _testStr; }
}
但並不是這樣:
public string TestStr = "Test";
我缺少的東西?
謝謝。
因爲字段不是一個有效的binding source:
公共語言運行庫(CLR)對象
您可以綁定到公共屬性,子屬性,以及索引,任何普通的語言運行時(CLR)對象。綁定引擎使用CLR反射來獲取屬性的值。或者,實現ICustomTypeDescriptor或具有註冊的TypeDescriptionProvider的對象也可以與綁定引擎一起使用。
動態對象
可以綁定到可用的屬性和一個實現IDynamicMetaObjectProvider接口的對象的索引器。如果您可以通過代碼訪問該成員,則可以綁定到該成員。
ADO.NET對象
您可以綁定到ADO.NET對象,如數據表。 ADO.NET DataView實現IBindingList接口,該接口提供綁定引擎偵聽的更改通知。
XML對象
您可以綁定到和一個XmlNode,XmlDocument的,或XmlElement的運行XPath查詢。訪問作爲標記中綁定源的XML數據的便捷方式是使用XmlDataProvider對象。您還可以綁定到XElement或XDocument,或者使用LINQ to XML綁定到在這些類型的對象上運行的查詢的結果。使用LINQ to XML訪問作爲標記中綁定源的XML數據的便捷方式是使用ObjectDataProvider對象。
DependencyObject的對象
您可以綁定到任何的DependencyObject的依賴屬性。
它是一個公共財產不是一個變量
的get使其成爲公共財產
的想法是什麼限制暴露於外界