WPF Combobox数据绑定Binding

combobox数据绑定List链表集合区分显示值与选择的值

整体效果:

根据combobox选择情况分别打印选取值与显示值

代码:

Windows窗体:

 1 <Window x:Class="ComboxBinding.MainWindow"
 2         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 3         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 4         Title="ComBox绑定" Height="192.857" Width="385" WindowStartupLocation="CenterScreen" Loaded="Window_Loaded">
 5     <Grid>
 6         <ComboBox Name="comBox1" HorizontalAlignment="Left" Margin="74,10,0,0" Width="209" Height="22" VerticalAlignment="Top"/>
 7         <TextBlock Name="txtSelectedValue" Width="200" Text="{Binding ElementName=comBox1, Path=SelectedValue}" HorizontalAlignment="Left" Margin="115,58,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Background="#FFE7FBFA"/>
 8         <TextBlock Name="txtSelectedText" Width="200" Text="{Binding ElementName=comBox1, Path=Text}" HorizontalAlignment="Left" Margin="114,88,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Background="#FFE7FBFA"/>
 9         <Label Content="selectedValue" HorizontalAlignment="Left" Margin="2,58,0,0" VerticalAlignment="Top"/>
10         <Label Content="selectedText" HorizontalAlignment="Left" Margin="10,86,0,0" VerticalAlignment="Top"/>
11
12     </Grid>
13 </Window>

Xaml

窗体cs代码

 1 using System.Collections.Generic;
 2 using System.Windows;
 3
 4 namespace ComboxBinding
 5 {
 6     /// <summary>
 7     /// MainWindow.xaml 的交互逻辑
 8     /// </summary>
 9     public partial class MainWindow : Window
10     {
11         public MainWindow()
12         {
13             InitializeComponent();
14         }
15
16         private void Window_Loaded(object sender, RoutedEventArgs e)
17         {
18             List<ComboxBind> lstCmbBind = new List<ComboxBind>();//用于绑定数据源
19
20             //初始化数据源
21             ComboxBind cbb = new ComboxBind("显示值1", "选取值1");
22             lstCmbBind.Add(cbb);
23             cbb = new ComboxBind("显示值2", "选取值2");
24             lstCmbBind.Add(cbb);
25             cbb = new ComboxBind("显示值3", "选取值3");
26             lstCmbBind.Add(cbb);
27
28             this.comBox1.ItemsSource = lstCmbBind;
29             comBox1.DisplayMemberPath = "CmbText";//类ComboxBind中的属性
30             comBox1.SelectedValuePath = "CmbValue";//类ComboxBind中的属性
31         }
32     }
33 }

用于绑定combobox的类

 1 namespace ComboxBinding
 2 {
 3     /// <summary>
 4     /// 用于Combox数据绑定
 5     /// </summary>
 6     class ComboxBind
 7     {
 8         //构造函数
 9         public ComboxBind(string _cmbText, string _cmbValue)
10         {
11             this.cmbText = _cmbText;
12             this.cmbValue = _cmbValue;
13         }
14
15         //用于显示值
16         private string cmbText;
17         public string CmbText
18         {
19             get { return cmbText; }
20             set { cmbText = value; }
21         }
22
23         //用于实际选取的值
24         private string cmbValue;
25         public string CmbValue
26         {
27             get { return cmbValue; }
28             set { cmbValue = value; }
29         }
30     }
31 }

C#

时间: 2024-10-09 06:42:14

WPF Combobox数据绑定Binding的相关文章

WPF ComboBox Binding Enum

什么都不说,先看代码 枚举: namespace WpfAppTest { public enum Week { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday } } 页面: <Window x:Class="WpfAppTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

WPF ComboBox Binding

public ConnectionViewModel { private readonly CollectionView _phonebookEntries; private string _phonebookeEntry; public CollectionView PhonebookEntries { get { return _phonebookEntries; } } public string PhonebookEntry { get { return _phonebookEntry;

第5篇 WPF C# 数据绑定Model-View-ViewModel模式

第5篇  WPF C# 数据绑定Model-View-ViewModel模式 参考资料: John Sharp:<Microsoft Visual C# 2013 Step by Step> 周 靖 译:John Sharp<Visual C# 2012从入门到精通> 前言 Model-View-ViewModel模式即MVVM模式编程涉及五个文件: 1.MainWindow.xaml文件 UI界面文件 2.MainWindow.xaml.cs文件  UI架构文件 3.ViewMo

WPF 之 数据绑定

数据绑定需要: 后台必须要有与控件对应的类和相关的属性 在后台new 一个类的对象 在后台把控件的数据上下文设置为该对象. 在XAML中把要绑定的控件中Text =      "{Binding 属性 }" 现象:在界面中修改控件中的参数可以同时反映到后台的实例中去,但是直接修改后台的实例,对界面中的参数没有影响 原因:由于普通对象没有"通知我的属性变了"这么一种机制,所以改变对象的属性,界面不会变,但是界面改变是有TextChanged之类的事件的,所以改变界面可

WPF中数据绑定问题

在数据库中字段不区分大小写,可以页面是区分的,一开始以为不区分,可我从数据库查出了数据在前台就是不显示想了半天才发现的. <sdk:DataGrid FrozenColumnCount ="1" Margin="0,0,0,0" Name="dgList" AutoGenerateColumns="False" IsReadOnly="True"  GridLinesVisibility="

WPF combobox

先写一个数据类Grade.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections.ObjectModel; namespace ImgProWPF { public class Grade { public string Name { set; get; } } pu

(WPF) MVVM: DataGrid Binding

Binding到DataGrid的时候,需要用到ObservableCollection. public ObservableCollection<Customer> Customers { get { return this.customers; } set { this.customers = value; base.OnPropertyChanged("Customers"); } } (WPF) MVVM: DataGrid Binding,布布扣,bubuko.c

【转】WPF中的Binding技巧(二)

WPF中的Binding技巧(二)   接上篇, 我们来看一看Elementname,Source,RelativeSource 三种绑定的方式 1.ElementName顾名思义就是根据Ui元素的Name来进行绑定: 例子: <Window x:Name="MainWindow"> <Grid>               <Button Background="{Binding ElementName=MainWindow, Path=Bac

(WPF, MVVM) Slider Binding.

对于Button的Command的绑定可以通过实现ICommand接口来进行,但是Slider并没有Command属性. 另外如果要实现MVVM模式的话,需要将一些Method和Slider的Event进行绑定,如何进行呢? (对于UIElement的一些Event进行绑定一定有一些通用的方法,目前还没有深入研究.) 首先,Slider Value的绑定是很简单的, 绑定Slider的Value属性即可. (1)ViewModel public class SliderViewModel : V