2017-06-15 11 views
0

wpfのコンボボックスをコンボボックスにバインドして、表示文字列と値文字列をバインドする必要があります。私は表示テキストをバインドすることしかできません、表示テキストとペアで値テキストをバインドする方法はありますか?リストwpfを介してコンボボックスの表示文字列と値文字列をバインドする方法c#

List<string> value = new List<string>(); 
value.Add("a"); 
value.Add("b"); 
route_select_points.ItemsSource = value; 

テキストはここでフロントエンドで

を隠されたまま値は、サンプルデータの一例である(詳細更新)

https://i.stack.imgur.com/uEQmQ.png

+0

は何ですかテキストと値のテキストを表示しますか? –

+0

XAMLを投稿してください –

+0

xamlに設定する必要があるプロパティは、DisplayMemberPathとSelectedValuePathです。[ItemsControl.DisplayMemberPath Property](https://msdn.microsoft.com/en-us/library/system .windows.controls.itemscontrol.displaymemberpath(v = vs.110).aspx)と[[SelectedItem、SelectedValueとSelectedValuePathの違い]](https://stackoverflow.com/a/4902454/6741868) –

答えて

0

あなたはGridViewコントロールとListViewコントロールを使用する必要があるように見えます次を参照してください:

<ListView Name="route_select_points" Margin="5"> 
      <ListView.View> 
        <GridView> 
         <GridView.Columns> 
          <GridViewColumn Header="Value" DisplayMemberBinding="{Binding Path=ValueText}"></GridViewColumn> 
          <GridViewColumn Header="Display" DisplayMemberBinding="{Binding Path=DisplayText}"></GridViewColumn> 
         </GridView.Columns> 
        </GridView> 
      </ListView.View> 
    </ListView> 

と結合するために、あなたは、プロパティを持つクラスを定義する必要があります。例として、私は

public class SomeData 
{ 
    public string ValueText { get; set; } 
    public string DisplayText { get; set; } 
} 

を示唆し、リストの作成が可能になる、「ValueText」、「表示テキスト」:

var value = new List<SomeData>(); 
value.Add(new SomeData(){ ValueText = "1", DisplayText = "a"}); 
value.Add(new SomeData(){ ValueText = "2", DisplayText = "b"}); 
route_select_points.ItemsSource = value; 
+0

あなたの答えはlistviewにとっては問題ありませんが、コンボボックスにバインドする必要があります。私は実際には、バックエンドデータをコンボボックスにバインドする必要があります。コンボボックスの選択時に、値が表示テキストにマップされています –

関連する問題