一、创建项目
打开Visual Studio2022,首页点开“创建新项目(N)”,找到WPF应用程序,选择下一步。
依次输入“项目名称”,选择“位置”,输入“解决方案名称”和选择“框架”,点击“创建”,即可创建新项目。
二、XAML基础
进入项目中,点开MainWindow.xaml文件,基础规则如下:
1.Loaded事件:
<Window x:Class="WpfApp.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:WpfApp" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800" Loaded="Window_Loaded"> <Grid Name="grid1"> </Grid> </Window>
private void Window_Loaded(object sender, RoutedEventArgs e) { this.Title = this.grid1.Name; }
运行效果图,名称由MainWindow变成grid1。
2.复杂属性:
例如:Grid控件有一个Background属性,该属性允许提供用于绘制控件背景区域的画刷。代码如下:
<Grid Name="grid1"> <Grid.Background> <LinearGradientBrush> <LinearGradientBrush.GradientStops> <GradientStop Offset="0.00" Color="red"/> <GradientStop Offset="0.50" Color="Yellow"/> <GradientStop Offset="1.00" Color="BlueViolet"/> </LinearGradientBrush.GradientStops> </LinearGradientBrush> </Grid.Background> </Grid>
运行效果图:
以上内容也可以通过“属性”面板实现:
3.附加属性
按照下图设置:
然后依次在三个区域添加三个按钮,代码变成:
<Grid Name="grid1"> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> <RowDefinition/> </Grid.RowDefinitions> <Grid.Background> <LinearGradientBrush> <LinearGradientBrush.GradientStops> <GradientStop Offset="0.00" Color="red"/> <GradientStop Offset="0.50" Color="Yellow"/> <GradientStop Offset="1.00" Color="BlueViolet"/> </LinearGradientBrush.GradientStops> </LinearGradientBrush> </Grid.Background> <!--三个按钮--> <Button Content="Button1" HorizontalAlignment="Left" Margin="332,72,0,0" VerticalAlignment="Top"/> <Button Content="Button2" HorizontalAlignment="Left" Margin="332,72,0,0" VerticalAlignment="Top" Grid.Row="1" /> <Button Content="Button3" HorizontalAlignment="Left" Margin="332,72,0,0" VerticalAlignment="Top" Grid.Row="2" /> </Grid>
4.特殊字符或空白
特殊字符 | 字符实体 |
小于号(<) | & lt; |
大于号(>) | & gt; |
&符号(&) | & amp; |
引号(“) | & quot; |
三、事件
例如:Button控件提供了Click事件。代码如下:
<Grid> <Button Width="200" Height="40" Click="Button_Click">按钮</Button> </Grid>
private void Button_Click(object sender, RoutedEventArgs e) { MessageBox.Show("您刚刚点击了按钮"); }