WPF基础二:XAML中的事件处理器、导入程序集及其名称空间的引用、注释

一) 事件处理器

在.net事件处理机制中,可以为对象的某个事件指定一个能与该事件匹配的成员函数,当这个事件发生时,.net运行时与去调用这个函数,即对这个事件的响应和处理。

指定事件处理器的方法:<ClassName EventName="EventHandlerName"/>

范例:

<Window x:Class="_2_XAML的事件_引用和注释.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:_2_XAML的事件_引用和注释"
        mc:Ignorable="d"
        Title="MainWindow" Height="250" Width="400">
    <Grid>
        <StackPanel>
            <Button Content="事件" Click="Button_Click"/>
        </StackPanel>
    </Grid>
    <x:Code>
        <![CDATA[
          private void Button_Click(object sender, RoutedEventArgs e)
            {
                MessageBox.Show("These codes are in the Xaml");
            }
        ]]>
    </x:Code>
</Window>

Click="Button_Click" 就是为事件指定处理方法。这里的事件是 Click ,事件处理器(事件的处理方法是Button_Click)。

1)事件处理方法一:编写在XAML中

而Button_Click的方法就是:

    <x:Code>
        <![CDATA[
          private void Button_Click(object sender, RoutedEventArgs e)
            {
                MessageBox.Show("These codes are in the Xaml");
            }
        ]]>
    </x:Code>

<x:Code></x:Code>:使用它可以将在C#的代码搬到XAML中。

 <![CDATA[...user code...]]>:XML语言的转义标签,[]内为C#代码。

2)事件处理方法一:编写在C#中

将鼠标光标移动到Click="Button_Click" 中的Button_Click中,按F12,然后在事件处理方法中编写事件处理代码:

private void Button_Click(object sender, RoutedEventArgs e)
{
     MessageBox.Show("These codes are in the Xaml");
}

1) 和 2) 的单机事件Button结果如下图:

 


二) 导入程序集及其名称空间的引用

.Net的模块称为程序集(Assembly)。常见的程序集的扩展名为.exe、.dll。

要在自己的程序里引用类库,需要以下三步:

  1. 编写类库并编译得到dll文件,或者使用别人的dll文件
  2. 将类库项目或dll文件引用进自己的项目(在VS项目中的引用上右键,添加引用,然后添加该dll文件即可)
  3. 在C#或XAML中引用类库中的名称空间

XAML引用名称空间的语法:

xmlns:映射名="clr-namespace:名称空间名;assembly=类库文件名"

xmlns:可以理解为xml的namespace(简写为ns)。

映射名是可选的,只要不重复。

使用语法:

<映射名.类名>...</映射名.类名>

范例:

有一个类库文件叫Lib.dll,里面有个名称空间叫MySpace,那么引用步骤应该如下。

1) Lib.dll已得到,一般放在项目文件架下。

2)添加引用如下图:

右击引用->添加引用->浏览,然后找到该文件

3)添加引用

XAML中:

...

xmlns:lib="clr-namespace:MySpace;assembly=Lib"

<lib:MyClass x:Name="cls1"/>

...

C#中:

using lib=MySpace;
lib.Myclass cls1=new Myclass();

三)XMAL的注释

  • XAML注释只能出现在标签的内容区域,即开始标签和结束标签之间。
  • XAML注释不能用于注释标签的Attribute。
  • XAML注释不能嵌套。

 

参考文献《深入浅出WPF》刘铁锰

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值