WPF快速学习笔记三 x名称空间

一、x出现的方式有三种

                 1、标签扩展 :x:Arry 、x:Null、x:Static、x:Type

                2、XAML指令元素: x:Code, x:XData

                 3、Attribute: x:Class, x:ClassModifier, x:FieldModifier, x:Key, x:Name, x: Shared, X:Subclass,

                                         x:TypeArguments, x:Uid

                x:Class:告诉XAML编译器将XAML标签的编译结果与后台制定的类合并,这个类必须使用partial关键字。

                 x:ClassModifier:访问级别,是否是公有还是私有.

                 x:Name: XAML声明的对象的名称。

                  x:FieldModifier: 访问级别 是否是公有还是私有 也就是访问域。

                  x:Key: 主要用于检索的值

                 x:Shared: 资源是否共享。

                  x:Null: 清除一些设置,比如全局style设置的Button样式,某个Button不想用,可以使用

                             Style=”{x:Null}”.

                 1、x:Arry  该扩展标签是通过它的Items属性向使用者实例化ArrayList类,ArrayList内成员的类型

                            由x:Array 的Type指明 实例:

 

  源码

<ListBox>

            <ListBox.ItemsSource>

                <x:Array Type="sys:String">

                    <sys:String>1

                    </sys:String>

                    <sys:String>2

                    </sys:String>                    

                    <sys:String>3

                    </sys:String>

                </x:Array>

            </ListBox.ItemsSource>

        </ListBox>

(注意 sys:String 需要导入 程序集才能用    xmlns:sys="clr-namespace:System;assembly=mscorlib" )

                   x:Static  静态成员 跟普通的static一样 能在整个程序使用 实例

  源码

  在cs 程序里声明一个静态变量 test 

using System;

using System.Collections.Generic;

using System.Linq; using System.Text;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Data;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Imaging;

using System.Windows.Navigation;

using System.Windows.Shapes;

using System.ComponentModel;

namespace firstApplicaton {

    /// <summary>     /// Window1.xaml 的交互逻辑     /// </summary>

    public partial class Window1 : Window

    {

        //在这申明静态变量

        public static string test="test";

        public Window1()

        {

            InitializeComponent();

        }

     }

}

      源码  前台获取静态的 变量的test的值并显示在 界面的textbox里面

  <TextBox x:Name="b" Text="{x:Static a:Window1.test}"

(注意 :a 是 导入的命名空间  xmlns:a="clr-namespace:firstApplicaton" )

              2、x:Type   数据类型 这个一般我们很少用到  但是有可能在某个时候还是会有点用处。

自定义一个button  如果该button click 事件 窗体的 类型是 window 类型 那就以模式串口显示该 窗体。

class MyButton:Button { public Type UserWindowType {get; set; } protected override void OnClick( { base.OnClick(); Window win = Activator.CreateInstance(this.UserWindowType) as Window; if(win != null) win.ShowDialog(); }

window1

<Window x:Class="WpfApplication.Window1"
xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation
xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml
Title=
"Window1" Width="200" Height="170">
<StackPanel Background="LightBlue">
<TextBox />
<TextBox />
<Button Content="确认" />
</StackPanel>
</Window>

window2

<Window x:Class="WpfApplication.Window2"
xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation
xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml
Title=
"Window2" Width="300" Height="300">
<StackPanel>
<local:MyButton Content="Show"
UserWindowType=
"{x:Type TypeName=local:Window1}" />
</StackPanel>
</Window>

单击window2的 show  将以模式窗口的形式 来显示 window1

        3、 x:Null 表示空值 有时候在在给attribute 赋值的时候就可以用该 x:Null来 赋予空值。

   <Window.Resources>

        <Style TargetType="Label"> <!--默认所有的Label的背景色为红色-->

            <Setter Property="Background" Value="red"/>

        </Style>

    </Window.Resources>

<Label  Content="ceshi" Style="{x:null}"/> <!--该语句去除了red背景的风格-->

        4、x:Code 用于在xaml中写入C#代码 这个东西也非常的好用

         5、x:data

    

posted @ 2013-01-29 15:48  思@源  阅读(339)  评论(0编辑  收藏  举报