#c# #wpf
#c# #wpf
Вопрос:
Как я могу привязать выбранный элемент из коллекции с помощью выпадающего списка и привязать его к изображению?
public class ElectrodePlacementScheme
{
public BitmapImage Image { private set; get; }
public String Name { private set; get; }
public ElectrodePlacementScheme(BitmapImage image, String name)
{
Image = image;
Name = name;
}
}
Пользовательский контроль: здесь я инициализирую коллекцию по парам имени и изображения
public partial class CheckECGUC : UserControl
{
public ObservableCollection<ElectrodePlacementScheme> ElectrodePlacementSchemes { get; set; }
public CheckECGUC()
{
InitializeComponent();
ElectrodePlacementSchemes = new ObservableCollection<ElectrodePlacementScheme>();
ElectrodePlacementSchemes.Add(new ElectrodePlacementScheme(new BitmapImage(new System.Uri(@"pack://application:,,,/Images/3CH_7Leads_Option1.png")), "Option 1"));
ElectrodePlacementSchemes.Add(new ElectrodePlacementScheme(new BitmapImage(new System.Uri(@"pack://application:,,,/Images/3CH_7Leads_Option2.png")), "Option 2"));
}
}
xaml: здесь я пытаюсь привязать изображение к выпадающему списку
<ComboBox x:Name="optionSelector" ItemsSource="{Binding ElectrodePlacementSchemes}" DisplayMemberPath="Name"/>
<Image Source="{Binding Path=optionSelector, ElementName=SelectedItem}"/>
</ComboBox>
я вижу в выпадающем списке элементы: вариант 1, вариант 2, но это не может отразиться на изображении: изображение не меняется
Спасибо
Ответ №1:
<ComboBox x:Name="optionSelector" ItemsSource="{Binding ElectrodePlacementSchemes}" DisplayMemberPath="Name"/>
<Image Source="{Binding SelectedItem.Image, ElementName=optionSelector}">
Комментарии:
1. Ну, да. Но этот ответ нуждается в лучшем форматировании.
Ответ №2:
Или это:
<ComboBox x:Name="optionSelector"
DisplayMemberPath="Name"
ItemsSource="{Binding ElectrodePlacementSchemes}"
SelectedValuePath="Image" />
<Image Source="{Binding Path=SelectedValue, ElementName=optionSelector}" />