2016-09-29 10 views
0

コンボボックスでコレクションから選択したアイテムをバインドしてイメージにバインドするにはどうすればよいですか?バインドコンボボックスによるコレクションから選択したアイテムを画像にバインド

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> 

をComboBoxのためにバインド画像を試してみてください:オプション1、オプション2ですが、画像に反映できません。画像は変更されません。

ありがとうございました

答えて

0
<ComboBox x:Name="optionSelector" ItemsSource="{Binding ElectrodePlacementSchemes}" DisplayMemberPath="Name"/> 
       <Image Source="{Binding SelectedItem.Image, ElementName=optionSelector}"> 
+0

まあ、はい。しかし、この答えはより良い書式設定が必要です。 –

0

またはこの:

<ComboBox x:Name="optionSelector" 
       DisplayMemberPath="Name" 
       ItemsSource="{Binding ElectrodePlacementSchemes}" 
       SelectedValuePath="Image" /> 
    <Image Source="{Binding Path=SelectedValue, ElementName=optionSelector}" /> 
関連する問題