WPF数据绑定学习


WPF技术的最显著的特点是实现了UI和逻辑业务的分离,并用数据绑定来关联两者。本文通过一个简单的实例来总结一下WPF中数据绑定的方法,本例还用到了数据库操作和泛型集合的使用方法。

1.      UI和功能

左上方Border区域内有三个Label控件、三个TextBox控件和三个Button控件,TextBox控件用于接收用户输入和显示选择的内容,Button控件分别实现数据库的添加、删除、修改操作。右上Border区域内有两个Label控件、一个Combo控件、一个TextBox控件和一个Button控件,左下为DataGrid控件,右下为ListView控件。程序启动时DataGrid控件显示数据库tb_User表中所有的元素,ListView控件显示按条件查询的结果,鼠标可以从DataGrid控件、ListView控件中选择条目,显示在左上的TextBox控件中,从而进行修改和删除操作。


代码如下,其中数据绑定部分关键代码加粗标出,后面再解释。

<Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:WPF" x:Class="WPF.MainWindow"
        Title="用户设置" Height="720"Width="1024"Background="{DynamicResource{x:StaticSystemColors.ControlBrushKey}}" ResizeMode="NoResize"FontSize="14">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="265*"/>
            <ColumnDefinition Width="243*"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="330*"/>
            <RowDefinition Height="359*"/>
        </Grid.RowDefinitions>
        <TextBox x:Name="tbx_User"HorizontalAlignment="Left" Height="35"Margin="160,80,0,0"TextWrapping="Wrap"VerticalAlignment="Top" Width="150"FontSize="16" BorderBrush="{DynamicResource {x:Static SystemColors.ControlDarkDarkBrushKey}}"/>
        <TextBox x:Name="tbx_KeyWord"HorizontalAlignment="Left" Height="35"Margin="160,160,0,0"TextWrapping="Wrap"VerticalAlignment="Top" Width="150"FontSize="16" BorderBrush="{DynamicResource {x:Static SystemColors.ControlDarkDarkBrushKey}}"/>
        <TextBox x:Name="tbx_Auth"HorizontalAlignment="Left" Height="35"Margin="160,240,0,0"TextWrapping="Wrap"  VerticalAlignment="Top"Width="150" FontSize="16"BorderBrush="{DynamicResource{x:StaticSystemColors.ControlDarkDarkBrushKey}}"/>
        <Button x:Name="btn_Add" Content="添加用户"HorizontalAlignment="Left" Height="40"Margin="360,80,0,0"VerticalAlignment="Top" Width="120"FontSize="16" Click="btn_Add_Click"/>
        <Button x:Name="btn_Remove"Content="删除用户"HorizontalAlignment="Left" Height="40"Margin="360,160,0,0"VerticalAlignment="Top" Width="120"FontSize="16" Click="btn_Remove_Click"/>
        <Button x:Name="btn_Upate"Content="编辑用户"HorizontalAlignment="Left" Height="40"Margin="360,240,0,0"VerticalAlignment="Top" Width="120"FontSize="16" Click="btn_Upate_Click"/>
        <Label Content="用户名"HorizontalAlignment="Left" Height="40"Margin="60,75,0,0"VerticalAlignment="Top" Width="80"FontSize="16"/>
        <Label Content="密码"HorizontalAlignment="Left" Height="40"Margin="60,155,0,0"VerticalAlignment="Top" Width="80"FontSize="16"/>
        <Label Content="权限"HorizontalAlignment="Left" Height="40"Margin="60,235,0,0"VerticalAlignment="Top" Width="80"FontSize="16"/>
        <Border BorderBrush="Black"BorderThickness="1" HorizontalAlignment="Left"Height="305" Margin="20,20,0,0"VerticalAlignment="Top" Width="490"/>
        <ComboBox x:Name="cbx_condition"Grid.Column="1" HorizontalAlignment="Left"Height="35" Margin="200,80,0,0"VerticalAlignment="Top" Width="165"FontSize="16">
            <ComboBoxItem Content="按用户名"/>
            <ComboBoxItem Content="按用户权限"/>
        </ComboBox>
        <Label Content=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值