简便操作WPF数据绑定
来源:互联网 发布:网络热词高兴 编辑:程序博客网 时间:2024/05/21 08:54
转载地址:http://developer.51cto.com/art/200912/172667.htm
WPF数据绑定的应用在刚刚接触WPF的朋友眼中看来是一个比较难以掌握的技术。不过,实际上熟练的掌握这一技术还是比较简单的。
AD:
WPF开发工具是一个比较实用的辅助工具。主要为开发人员实现了图形界面处理的一些相关功能。WPF数据绑定非常的好用,下面的例子可以说明这点。
- 应用WPF图像API正确方法讲解
- 简单实现增加WPF右键菜单功能
- WPF事件注册特点介绍
- 对于WPF动态换肤研究方案
- WPF MediaElement实现音乐功能增加
我们在Xaml代码中创建一个ListView,我们设置ListView中的样式绑定为静态绑定。分别定义三个列用来绑定数据ID,Name,Balance
WPF数据绑定代码如下:
- < ListView
- Name="listView"
- ItemContainerStyle="
{StaticResource ItemContStyle}" - ItemsSource="{Binding}"
- >
- < ListView.View>
- < GridView>
- < GridViewColumn Header=
"ID" DisplayMemberBinding=
"{Binding ID}" /> - < GridViewColumn Header=
"Name" DisplayMemberBinding=
"{Binding Name}" /> - < GridViewColumn Header=
"Balance" Width="140"> - < GridViewColumn.CellTemplate>
- < DataTemplate>
- < TextBlock Text=
"{Binding Balance}"
TextAlignment="Right" /> - < /DataTemplate>
- < /GridViewColumn.CellTemplate>
- < /GridViewColumn>
- < /GridView>
- < /ListView.View>
- < /ListView>
我们在资源中增加下列WPF数据绑定应用代码:
- < Style x:Key="ItemContStyle" TargetType="{x:Type ListViewItem}">
- < Style.Resources>
- < LinearGradientBrush x:Key="ProfitBrush" StartPoint="0.5,0" EndPoint="0.5,1">
- < GradientStop Offset="0.1" Color="#AA00CC00" />
- < GradientStop Offset="0.8" Color="#55008800" />
- < /LinearGradientBrush>
- < LinearGradientBrush x:Key="LossBrush" StartPoint="0.5,0" EndPoint="0.5,1">
- < GradientStop Offset="0.1" Color="#AACC0000" />
- < GradientStop Offset="0.8" Color="#55880000" />
- < /LinearGradientBrush>
- < local:NumberToPolarValueConverter x:Key="PolarValueConv" />
- < /Style.Resources>
- < Setter Property="HorizontalContentAlignment" Value="Stretch" />
- < Style.Triggers>
- < DataTrigger Binding="{Binding Balance, Converter={StaticResource PolarValueConv}}" Value="+1">
- < Setter Property="Background" Value="{StaticResource ProfitBrush}" />
- < /DataTrigger>
- < DataTrigger Binding="{Binding Balance, Converter={StaticResource PolarValueConv}}" Value="-1">
- < Setter Property="Background" Value="{StaticResource LossBrush}" />
- < /DataTrigger>
- < /Style.Triggers>
- < /Style>
在window中增加:
- xmlns:local="clr-namespace:HighlightingItemsInWPFListView"
在窗体后台代码处增加下列代码:
- public Window1()
- {
- InitializeComponent();
- this.listView.DataContext = CreateDataTable();
- }
- DataTable CreateDataTable()
- {
- DataTable tbl = new DataTable( "Customers" );
- tbl.Columns.Add( "ID", typeof( int ) );
- tbl.Columns.Add( "Name", typeof( string ) );
- tbl.Columns.Add( "Balance", typeof( decimal ) );
- tbl.Rows.Add( 1, "John Doe", 100m );
- tbl.Rows.Add( 2, "Jane Dorkenheimer", -209m );
- tbl.Rows.Add( 3, "Fred Porkroomio", 0m );
- tbl.Rows.Add( 4, "Mike Spike", 550m );
- tbl.Rows.Add( 5, "Doris Yakovakovich", 0m );
- tbl.Rows.Add( 6, "Boris Zinkwolf", -25m );
- return tbl;
- }
创建一个类,用来管理调用的资源,代码如下:
- [ValueConversion( typeof( object ), typeof( int ) )]
- public class NumberToPolarValueConverter : IValueConverter
- {
- public object Convert(
- object value, Type targetType,
- object parameter, CultureInfo culture )
- {
- double number = (double)System.Convert.ChangeType( value, typeof(double) );
- if( number < 0.0 )
- return -1;
- if( number == 0.0 )
- return 0;
- return +1;
- }
- public object ConvertBack(
- object value, Type targetType,
- object parameter, CultureInfo culture )
- {
- throw new NotSupportedException( "ConvertBack not supported" );
- }
- }
以上就是对WPF数据绑定的应用方法介绍。
- 简便操作WPF数据绑定
- WPF之数据绑定
- WPF之数据绑定
- WPF之绑定数据
- wpf数据绑定常见问题
- WPF数据绑定
- WPF 数据绑定[1]
- WPF 数据绑定[2]
- WPF 数据绑定[3]
- WPF 数据绑定[4]
- WPF 数据绑定[5]
- WPF 数据绑定[6]
- WPF 数据绑定[7]
- WPF 数据绑定[8]
- WPF 数据绑定[9]
- WPF 数据绑定[10]
- WPF 数据绑定[最后]
- WPF数据绑定详解
- Rational AppScan 扫描大型网站
- 聊聊并发(四)——深入分析ConcurrentHashMap
- PLD - VHDL和Verilog HDL语言对比
- 解决 php 中英文断句 乱码
- 【java】DataInputStream.readChar读取中文
- 简便操作WPF数据绑定
- matlab图像处理函数大全
- Arithmetic Progressions
- PHP同时操作多个MySQL连接
- php如何判断文件是否存在,包括本地和远程文件
- PLD- FPGA与CPLD的区别
- mysql的root密码忘记解决方法
- 文本生成工具(综合)
- 未来5年中国企业信息化格局