事件处理器与代码后置
以下就是新建了一个事件Click,事件拥有者为Button
cs
<Button Width="120"Height="30" Content="Click Me!" Click="Button_Click"/>
以这个来作为事件处理器,响应者是窗体,事件订阅是 Click="Button_Click"。
cs
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Hello WPF");
}
事件订阅也可以这样:
cs
public MainWindow()
{
InitializeComponent();
this.Button_Click += new RoutedEventHandler(Button_Click);
}
导入程序集与引入其中的名称空间
现在流行程序分为几个小组件,这些小组件可以被其他项目引用和共享。
下方代码功能是:为员工计算每个月的工资,而且该计算工资功能是组件的形式,可以在程序其他地方显式或引用。
想在另一个程序集中生成一个组件。然后在该程序集中引用。
在解决方案中新建一个用户控件库如下:
删除自带的xaml,
自己添加一个SalaryCaluculator.xaml用户控件,用于计算工资
在自定义的SalaryCaluculator.xaml中内容写成如下:
cs
<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中添加如下响应:
cs
private void Button_Click(object sender, RoutedEventArgs e)
{
this.TextBox3.Text=this.TextBox2.Text+this.TextBox1.Text;//实际工资为前两者和
}
会得到如上一个控件,那么如何在主程序中使用:
①将主界面分为4部分:
cs
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>//将界面上下两半
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>//将界面分成作用两界面
</Grid.ColumnDefinitions>
</Grid>
现在想在4个部分都加上控件:
②给主程序添加自定义控件的依赖,然后用xmlns引用:
主程序中添加(目的是引入名称空间):
cs
xmlns:control="clr-namespace:WpfControlLibrary1;assembly=WpfControlLibrary1"
然后就在Grid中可以引用了,写如下四行代码引用,就欧克了
通过以上学习可知,想用一个控件,首先是要引用它所在的类库,然后用xmlns引用类库中的名称空间,才能使用控件。一般用自带的类库时,xmlns后跟的是http......,这种可以一下引用多个名称空间。
cs
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
XAML的注释
注释格式
cs
<!--
注释内容
-->
①图标方式注释:
选中要注释的内容,再点如下:
该图标后边的 图标可以用来解注释。
②同时按住Crtl+K+C进行注释,同时按住Crtl+K+U进行解开注释
③自定义快捷键,点击工具,点击键盘,点击需要更改命令的快捷键