XAML是可扩展应用程序标记语言(Extensible Application Markup Language),是一门使用XML语法的语言,允许一层次化的声明方式将控件添加到用户界面。创建一个WPF应用程序,可以直接编写XAML文件,也可以在Design直接拖控件到窗口上。
示例代码如下:
XAML试图:
- <Window x:Class="NameWindow.MainWindow" //x:Class C#代码隐藏文件 Window元素是XAML文件的根元素
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" //WPF的默认名称空间 声明可用到的控件
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" //声明XAML语言本身
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:local="clr-namespace:NameWindow" //本地明明空间
- mc:Ignorable="d"
- //(窗口属性 可以直接编写XAML文件,也可以在属性窗口中设置)
- // 窗口标题 高度 宽度 按键事件
- Title="MainWindow" Height="350" Width="525" KeyDown="Window_KeyDown" PreviewKeyDown="Window_PreviewKeyDown">
- //(Grid属性) Grid控件, 按键事件
- <Grid KeyDown="Grid_KeyDown" PreviewKeyDown="Grid_PreviewKeyDown">
- <Grid.RowDefinitions> //划分Grid为2行
- <RowDefinition Height="109*"/>
- <RowDefinition Height="210*"/>
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions> //划分Grid为2列
- <ColumnDefinition Width="191*"/>
- <ColumnDefinition Width="326*"/>
- </Grid.ColumnDefinitions>
- //(Button属性)Button 按钮控件 button名字 在窗口中显示的内容 布局方式 button的大小
- <Button x:Name="button" Content="Button" HorizontalAlignment="Left" Margin="27,4,0,0" VerticalAlignment="Top" Width="75" Grid.Column="0" Grid.Row="0"/>
- <Button x:Name="rotatedButton" Content="2nd Button" Width="75" Height="22" FontWeight="Bold"
- //Button的事件方法
- RenderTransformOrigin="0.5,0.5" KeyDown="rotatedButton_KeyDown" PreviewKeyDown="rotatedButton_PreviewKeyDown" Grid.Column="1" Grid.Row="1" >
- <Button.RenderTransform> //Button的旋转角度,缩放
- <TransformGroup>
- <ScaleTransform/>
- <SkewTransform/>
- <RotateTransform Angle="-23.896"/>
- <TranslateTransform/>
- </TransformGroup>
- </Button.RenderTransform>
- </Button>
- //窗口中的分割线
- <GridSplitter Grid.RowSpan="2" Width="3" BorderThickness="2" BorderBrush="Black" />
- </Grid>
- </Window>
代码隐藏文件
- namespace NameWindow
- {
- /// <summary>
- /// Interaction logic for MainWindow.xaml
- /// </summary>
- public partial class MainWindow : Window
- {
- public MainWindow()
- {
- InitializeComponent(); //初始化窗口
- }
- //Grid的按键事件方法
- private void Grid_KeyDown(object sender, KeyEventArgs e)
- {
- MessageBox.Show("Grid handler, bubbling up");
- }
- private void Grid_PreviewKeyDown(object sender, KeyEventArgs e)
- {
- MessageBox.Show("Grid handler, tunneling down");
- e.Handled = true;
- }
- //Button的按钮事件
- private void rotatedButton_KeyDown(object sender, KeyEventArgs e)
- {
- MessageBox.Show("rotatedButton handler, bubbling up");
- }
- private void rotatedButton_PreviewKeyDown(object sender, KeyEventArgs e)
- {
- MessageBox.Show("rotatedButton handler, tunneling down");
- }
- //窗口按键事件
- private void Window_KeyDown(object sender, KeyEventArgs e)
- {
- MessageBox.Show("Window handler, bubbling up");
- }
- private void Window_PreviewKeyDown(object sender, KeyEventArgs e)
- {
- MessageBox.Show("Window handler, tunneling down");
- }
- }
- }