WPF_2

事件处理器与代码后置

 以下就是新建了一个事件Click,事件拥有者为Button

 <Button Width="120"Height="30" Content="Click Me!" Click="Button_Click"/>

 以这个来作为事件处理器,响应者是窗体,事件订阅是 Click="Button_Click"。

 private void Button_Click(object sender, RoutedEventArgs e)
 {
     MessageBox.Show("Hello WPF");
 }

事件订阅也可以这样:

public MainWindow()
{
    InitializeComponent();
    this.Button_Click += new RoutedEventHandler(Button_Click);
}

导入程序集与引入其中的名称空间

现在流行程序分为几个小组件,这些小组件可以被其他项目引用和共享。

下方代码功能是:为员工计算每个月的工资,而且该计算工资功能是组件的形式,可以在程序其他地方显式或引用。

想在另一个程序集中生成一个组件。然后在该程序集中引用。

在解决方案中新建一个用户控件库如下:

 删除自带的xaml,

 

自己添加一个SalaryCaluculator.xaml用户控件,用于计算工资

在自定义的SalaryCaluculator.xaml中内容写成如下:

<UserControl x:Class="WpfControlLibrary1.SalaryCalculator"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="240" Height="160" Background="LightBlue">

    <Canvas>
        <Label Content="基本工资:" Canvas.Left="18" Canvas.Top="16" Name="label1"/>
        <Label Content="岗位工资:" Canvas.Left="18" Canvas.Top="66" HorizontalAlignment="Center" VerticalAlignment="Top" Name="label2"/>
        <Label Content="实际工资:" Canvas.Left="18" Canvas.Top="41" HorizontalAlignment="Center" VerticalAlignment="Top" Name="label3"/>
        <TextBox Canvas.Left="93" TextWrapping="Wrap" x:Name="TextBox1" Canvas.Top="20" Width="120"/>
        <TextBox Canvas.Left="93" TextWrapping="Wrap" x:Name="TextBox2" Canvas.Top="45" Width="120"/>
        <TextBox Canvas.Left="93" TextWrapping="Wrap" x:Name="TextBox3" Canvas.Top="71" Width="120"/>
        <Button Content="计算" Canvas.Left="93" Canvas.Top="117" HorizontalAlignment="Left" VerticalAlignment="Center" Width="120" Click="Button_Click"/>
    </Canvas>
</UserControl>

 在上方button中添加如下响应:

 private void Button_Click(object sender, RoutedEventArgs e)
 {
     this.TextBox3.Text=this.TextBox2.Text+this.TextBox1.Text;//实际工资为前两者和
 }

会得到如上一个控件,那么如何在主程序中使用: 

①将主界面分为4部分:

 <Grid>
     <Grid.RowDefinitions>
         <RowDefinition/>
         <RowDefinition/>//将界面上下两半
     </Grid.RowDefinitions>
     
     <Grid.ColumnDefinitions>
         <ColumnDefinition/>
         <ColumnDefinition/>//将界面分成作用两界面
     </Grid.ColumnDefinitions>
 </Grid>

现在想在4个部分都加上控件:

②给主程序添加自定义控件的依赖,然后用xmlns引用:

主程序中添加(目的是引入名称空间):

xmlns:control="clr-namespace:WpfControlLibrary1;assembly=WpfControlLibrary1"

 然后就在Grid中可以引用了,写如下四行代码引用,就欧克了

通过以上学习可知,想用一个控件,首先是要引用它所在的类库,然后用xmlns引用类库中的名称空间,才能使用控件。一般用自带的类库时,xmlns后跟的是http……,这种可以一下引用多个名称空间。

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

XAML的注释

注释格式

<!--
注释内容
-->

①图标方式注释:

选中要注释的内容,再点如下:

该图标后边的 图标可以用来解注释。

②同时按住Crtl+K+C进行注释,同时按住Crtl+K+U进行解开注释

③自定义快捷键,点击工具,点击键盘,点击需要更改命令的快捷键

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值