WPF浏览器应用开发教程

在本文中,将学习如何创建一个使用WPFSQL ServerCompact 3.5 SP1进行数据绑定的浏览器应用。将从创建项目开始,逐步介绍如何设计GUI,实现数据绑定,并添加增删改查功能。

准备工作

在开始之前,请确保机器上已经安装了以下软件:

创建项目

打开Visual Studio 2010,选择“新建项目”来创建一个新的WPF浏览器应用。在项目类型中选择“Windows”,然后选择“WPF浏览器应用”,为应用命名后点击“确定”。

设计GUI

创建新应用后,需要设计图形用户界面(GUI)。以下是使用的控件列表:

  • Label
  • TextBox
  • DatePicker
  • ComboBox
  • DataGrid
  • Button

以下是XAML代码中DataGrid的示例:

<DataGrid AutoGenerateColumns="False" Height="181" HorizontalAlignment="Left" Margin="12,188,0,0" Name="Details_Grid" VerticalAlignment="Top" Width="518" ItemsSource="{Binding Path=MyDataBinding}" CanUserResizeRows="False" Loaded="Details_Grid_Loaded" SelectedCellsChanged="Details_Grid_SelectedCellsChanged"> <DataGrid.Columns> <DataGridTextColumn Binding="{Binding Path=fName}" Header="First Name" Width="120" IsReadOnly="True" /> <DataGridTextColumn Binding="{Binding Path=lName}" Header="Last Name" Width="120" IsReadOnly="True" /> <DataGridTextColumn Binding="{Binding Path=DOB}" Header="Date Of Birth" Width="150" IsReadOnly="True" /> <DataGridTextColumn Binding="{Binding Path=City}" Header="City" Width="120" IsReadOnly="True" /> </DataGrid.Columns> </DataGrid>

在上述代码中,通过设置“ItemsSource”属性为“MyDataBinding”来绑定数据到DataGrid。

实现数据绑定

为了实现数据绑定,使用了ADO.NET。以下是绑定DataGrid的XAML代码:

<DataGrid AutoGenerateColumns="False" Height="181" HorizontalAlignment="Left" Margin="12,188,0,0" Name="Details_Grid" VerticalAlignment="Top" Width="518" ItemsSource="{Binding Path=MyDataBinding}" CanUserResizeRows="False" Loaded="Details_Grid_Loaded" SelectedCellsChanged="Details_Grid_SelectedCellsChanged"> <DataGrid.Columns> <DataGridTextColumn Binding="{Binding Path=fName}" Header="First Name" Width="120" IsReadOnly="True" /> <DataGridTextColumn Binding="{Binding Path=lName}" Header="Last Name" Width="120" IsReadOnly="True" /> <DataGridTextColumn Binding="{Binding Path=DOB}" Header="Date Of Birth" Width="150" IsReadOnly="True" /> <DataGridTextColumn Binding="{Binding Path=City}" Header="City" Width="120" IsReadOnly="True" /> </DataGrid.Columns> </DataGrid>

通过设置“ItemsSource”属性为“MyDataBinding”来绑定数据到DataGrid。

添加数据到数据库

接下来,将编写代码以实现添加数据到数据库的功能。以下是“Add”按钮的点击事件处理代码:

private void Add_btn_Click(object sender, RoutedEventArgs e) { try { SqlCeConnection Conn = new SqlCeConnection(Connection_String); Conn.Open(); string Date = DOB_txt.DisplayDate.ToShortDateString(); string Insert_Cmd = @" insert into Details(fName,lName,DOB,City) Values ('" + FirstName_txt.Text + "','" + LastName_txt.Text + "','" + Date.ToString() + "','" + City_txt.Text + "')"; SqlCeCommand cmd = new SqlCeCommand(Insert_Cmd, Conn); cmd.ExecuteNonQuery(); MessageBox.Show("One Record Inserted"); FirstName_txt.Text = string.Empty; LastName_txt.Text = string.Empty; DOB_txt.Text = string.Empty; City_txt.Text = string.Empty; this.BindGrid(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }

在上述代码中,首先打开数据库连接,然后构建插入命令,并执行该命令以添加数据。

配置数据库连接

为了连接到SQL ServerCompact数据库,需要在App.Config文件中配置数据库连接字符串。以下是App.Config文件的示例:

<configuration> <connectionStrings> <add name="ConnectionString1" connectionString="Data Source=\DatabindusingWPF.sdf; Password=test@123; Persist Security Info=False;" /> </connectionStrings> </configuration>

在代码中,使用ConfigurationManager来获取连接字符串的值:

string Connection_String = ConfigurationManager.ConnectionStrings["ConnectionString1"].ConnectionString;

绑定数据到DataGrid

为了将数据绑定到DataGrid,创建了一个名为BindGrid的方法,并在其他事件中调用该方法以刷新DataGrid数据。以下是BindGrid方法的代码:

public void BindGrid() { try { SqlCeConnection Conn = new SqlCeConnection(Connection_String); Conn.Open(); SqlCeDataAdapter Adapter = new SqlCeDataAdapter("Select * from Details", Conn); DataSet Bind = new DataSet(); Adapter.Fill(Bind, "MyDataBinding"); Details_Grid.DataContext = Bind; Conn.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }

在上述代码中,打开数据库连接,使用SqlCeDataAdapter从数据库中检索数据,并将数据绑定到DataSet,最后将DataSet绑定到DataGrid。

测试项目

设计和编码完成后,需要测试项目。按下“F5”运行项目。如果在运行过程中遇到错误,请尝试删除并重新创建app.manifest文件。

更改浏览器标题

如果希望更改浏览器标题,可以在XAML文件的Page标签中添加WindowTitle属性。以下是示例:

<Page x:Class="Databinding_WPF_Browser.MainPage" WindowTitle="DataBinding in WPF using SQL Server Compact" ...>
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485