У меня есть приложение MVVM.В главном окне WPF у меня есть поле со списком и текстовый блок среди других элементов управления.
Когда я выбираю значение из выпадающего списка, текстовый блок должен динамически менять свое текстовое значение в соответствии с элементом, выбранным в выпадающем списке (в зависимости отидентификатор выбранного элемента в выпадающем списке).
Моя проблема заключается в том, что при выборе элемента в выпадающем списке текст текстового блока не изменяется, он всегда имеет значение по умолчанию.Любые идеи, как решить эту проблему?
Я хочу сделать это, используя только xaml.
Модель :
public class Item
{
#region Constructors
public Item() { }
public Item(int id, string desc)
{
this.Id = id;
this.Desc = desc;
}
#endregion
#region Properties
public int Id
{
get;
set;
}
public string Desc
{
get;
set;
}
#endregion
public override string ToString()
{
return this.Desc;
}
}
Свойство MVVMВид модели :
private ObservableCollection<Item> _myItems;
public ObservableCollection<Item> MyItems
{
get { return _myItems; }
set { _myItems= value; }
}
Просмотр :
<ComboBox x:Name="MyWPFCombo"
ItemsSource="{Binding MyItems}"/>
<TextBlock Padding="5 10 0 0">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Text" Value="Select the items:" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=MyWPFCombo, Path=Id}" Value="10">
<Setter Property="Text" Value="Select the old items:" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>