我卡在一個奇怪的組合框問題。組合框不顯示更改值
我使用的是ObjectDataProvider的飼料組合框:
<ObjectDataProvider x:Key="foo"
MethodName="GetNames" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="local:FooEnum" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
現在我有一個類看起來像這樣:
public class SomeClass : NotifyHelper
{
private FooEnum _value;
public FooEnum Value
{
get { return _value; }
set
{
_value = value;
OnPropertyChanged("Value");
}
}
}
SomeClass的集合綁定到一個ItemsControl的一個組合框模板
<ItemsControl ItemsSource="{Binding Items}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Source={StaticResource foo}}" SelectedItem="{Binding Value}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
The ViewModel:
public class VM : NotifyHelper
{
public VM()
{
Items = new List<SomeClass>();
Items.Add(new SomeClass{Value = Foo.X});
}
public List<SomeClass> Items {get; private set; }
}
我的問題:
- Initialy的組合框沒有項目選擇
- 當我在視圖模型中,而不是視圖更改值,該值不會更新組合框。
將組合框SelectedItem的綁定更改爲TwoWay和OnPropertyChange沒有任何影響!
我錯過了什麼?
集的構造SelectedItem綁定模式twoway – RockWorld
不會改變任何內容。同時將updatesourcetrigger設置爲propertychanged也無濟於事。請不要猜測:) – Jaster
您能否提供具有Items屬性的類的詳細信息(使用)? (詢問不想猜)。 –
RockWorld