📜  XAML教程(1)

📅  最后修改于: 2023-12-03 15:06:04.129000             🧑  作者: Mango

XAML教程

XAML(Extended Application Markup Language)是用于创建用户界面的标记语言。它是一种声明性语言,类似于 HTML,但更注重逻辑性和应用分层。

XAML可以被用来创建多种类型的应用程序,例如:Windows Presentation Foundation (WPF)、Windows Store、UWP 常见应用程序、Silverlight 和 Windows Workflow Foundation (WF) 等。下面是 XAML 语言的一些常见用法和语法:

基础标签
Grid

Grid 是 XAML 中最基本的布局元素之一,它将元素排列在类似于网格的结构中。

代码片段:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <Button Grid.Row="0" Grid.Column="0" Content="Button 1" />
    <Button Grid.Row="0" Grid.Column="1" Content="Button 2" />
    <Button Grid.Row="1" Grid.ColumnSpan="2" Content="Button 3" />
</Grid>
StackPanel

StackPanel 是 XAML 中常用的一个用来布局子元素的容器。

代码片段:

<StackPanel Orientation="Vertical">
    <Button Content="Button 1" />
    <Button Content="Button 2" />
    <Button Content="Button 3" />
</StackPanel>
TextBlock

TextBlock 是用于显示文本的控件。

代码片段:

<TextBlock Text="Hello, World!" />
数据绑定

XAML 支持数据绑定功能,这使开发人员可以将 UI 元素与底层数据模型绑定。

代码片段:

<Grid>
    <Grid.DataContext>
        <local:Person Name="Tom" Age="25" />
    </Grid.DataContext>

    <StackPanel>
        <TextBlock Text="{Binding Name}" />
        <TextBlock Text="{Binding Age}" />
    </StackPanel>
</Grid>
样式和模板

XAML 支持样式和模板的创建。样式用于指定 UI 元素的外观和行为,而模板指定 UI 元素的外观。

代码片段:

<Window.Resources>
    <Style TargetType="Button">
        <Setter Property="Background" Value="Red" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Border Background="{TemplateBinding Background}" CornerRadius="5">
                        <ContentPresenter />
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Window.Resources>

<StackPanel>
    <Button Content="Button 1" />
    <Button Content="Button 2" />
    <Button Content="Button 3" />
</StackPanel>
事件处理

XAML 允许开发人员通过指定事件处理程序将逻辑代码与 UI 事件相结合。

代码片段:

<StackPanel>
    <Button Content="Click me!" Click="Button_Click" />
</StackPanel>
private void Button_Click(object sender, RoutedEventArgs e)
{
    MessageBox.Show("Button clicked!");
}
总结

这里只是介绍了 XAML 的一部分,但足以让开发者了解 XAML 的基本用法。通过组合这些特性和其他实用特性,可以创建出美观而强大的应用程序。