2017-06-15 70 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

它看起来像你需要使用ListView控件与GridView控件,请参阅:

<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> 

而对于绑定你需要与属性定义你的类:“ValueText”,“DisplayText”一样,例如我建议

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

和列表的创建将是:

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

你的答案是好的列表视图,但我需要将它绑定到组合框。请参阅示例图像的最新更新,我实际上需要将BackEndData绑定到组合框,在选择组合框时,值将与显示文本 –