0
在Silverlight中定義的靜態屬性,使用MVVM我定義相關的ViewModels一個基類和幾個子類中定義的可能值的屬性列表:的Silverlight:綁定到一個父類中的視圖模型
namespace MyNameSpace
{
public class MyViewModelBase
{
public static List<MyPropertyClass> MyPropertyValueList
{
get
{
if (myPropertyValueList == null)
{
// fill the list
}
return myPropertyValueList;
}
}
private static List<MyPropertyClass> myPropertyValueList = null;
}
}
現在我定義我的ViewModel:
namespace MyNameSpace.MyChild
{
public class MyViewModelChild
{
public MyPropertyClass MyProperty
{
get
{
return myProperty;
}
set
{
myProperty= value;
RaisePropertyChanged("MyProperty");
}
}
...
}
}
我綁定到我的視圖模型
<controls:ChildWindow
x:Class="MyNameSpace.MyChild.MyChildEditor">
<ListBox ItemsSource="{Binding Path=MyPropertyValueList, Mode=OneTime}" SelectedValue="{Binding Path=MyProperty, Mode=TwoWay}"/>
然後綁定失敗MyPropertyValueList
。 但是,如果MyPropertyValueList
在它的子類中定義了它的作用。我究竟做錯了什麼 ?
謝謝,它工作,如果我刪除靜態關鍵字。但是,如果該屬性是在子類中定義的,爲什麼它也可以工作(使用static關鍵字)? – user2223898