Я застрял в странной проблеме ComboBox.Combobox не отображает изменяющиеся значения
Я использую 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>
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 в выпадающих списках имеют ни один элемент не выбран
- при изменении значения в ViewModel вместо с точкой зрения, значение не обновляется в Наримере.
Изменение привязки ComboBox SelectedItem к TwoWay и OnPropertyChange не влияет!
Что мне не хватает?
Set SelectedItem режим привязки twoway – RockWorld
ничего не меняет. также не может помочь настройка updatesourcetrigger на propertychanged. пожалуйста, не догадывайтесь :) – Jaster
Можете ли вы предоставить подробную информацию о классе, имеющем свойство Items (используется)? (спрашивая, как не хотят догадываться). –
RockWorld