• XAML基础


    1.标记扩展

    将一个对象的属性值依赖在其他其他对象的某个属性上

    用法:标记属性的一般用法是:Attribute = Value,使用标记拓展,Value字符串是由一对花括号及其括起来的内容组成,XAML编译器会对这样的内容作出解析、生成相应的对象

    例如:

    <Window x:Class="标记拓展.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <StackPanel Background="LightSlateGray">
                <TextBox Text="{Binding ElementName=slider1,Path=Value,Mode=OneWay}" Margin="5"></TextBox>
                <Slider Name="slider1" Margin="5"></Slider>
            </StackPanel>
        </Grid>
    </Window>

    TextBox的Value值依赖在Slider的Value上 

    以上的写法相当于:

    <TextBox Margin="5">
                    <TextBox.Text>
                        <Binding ElementName="slider1" Path="Value" Mode="OneWay"></Binding>
                    </TextBox.Text>
    </TextBox>

    不这也写的原因是,代码量增加了、阅读不方便

    注意:并不是所有对象都可以用标记拓展的语法来写,只有MarkupExtension类的派生类才能使用标记拓展的语法来创建对象

    2.代码后置Code-Behind

     将逻辑代码与UI代码分离,隐藏在UI代码后面的形式

     可以使用x:Code标签,把应该呆在后置代码里的C#代码搬到XAML文件来,例如:

    <Window x:Class="代码后置.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <Button Name="button1" Click="button1_Click_1"></Button>
        </Grid>
        <x:Code>
            <![CDATA[
                 private void button1_Click_1(object sender, RoutedEventArgs e)
            {
                MessageBox.Show("ABC");
            }
                ]]>
        </x:Code>
    </Window>

     3.导入程序集和引用其中的命名空间

    1)在XAML中引用命名空间的语法是:

    xmlns:映射名=“clr-namespace:类库中名称空间的名字;assembly=类库文件名”

    比如类库程序集名为:MyLibrary.dll,其中包括Common和Controls两个名称空间,在XAML中引用会是:

    xmlns:common=“clr-namespace:Common;assembly=MyLibrary” 

    xmlns:controls=“clr-namespace:Controls;assembly=MyLibrary” 

     2)使用命名空间里的类:

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

    比如:

    <common:MessagePanel x:Name="window1" />

    4.注释

    语法:<!--被注释的内容-->

    注意:

    1)只能出现在开始标签和结束标签之间

    2)不能注释标签的Attribute

    3)注释不能嵌套

  • 相关阅读:
    storyboard上添加scrollView(container)
    RESideMenu第三方storyboard的使用方法
    素材网
    iOS 播放音频的几种方法
    正则表达之----验证数字的正则表达式集
    ios汉字转拼音首字母
    iOS-常见问题
    iOS 开发之 点击tabbarItem添加是否跳转登录页面判断
    实验六——bookstore系统模块测试缺陷报告
    作业五
  • 原文地址:https://www.cnblogs.com/KeenLeung/p/3518585.html
Copyright © 2020-2023  润新知