首页 > 其他分享 >X名称空间详解

X名称空间详解

时间:2024-08-22 19:27:24浏览次数:10  
标签:属性 string Button 详解 名称 空间 textBox public Name

1.x:Name的作用

告诉编译器,为标签处理为这个标签生成对应实例外,还要为实例声明一个引用变量,变量名就是x:Name的值;如果xaml标签所对应对象存在Name属性,也会想值赋值给Name属性;示例如下:

    <StackPanel>
        <TextBox x:Name="textBox" Margin="5"/>
        <Button Content="OK" Margin="5" Click="Button_Click"/>
    </StackPanel>


       private void Button_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(textBox.Name))
            {
                textBox.Text = "no name";
            }
            else
            {
                textBox.Text = textBox.Name;
            }
        }

2.x:FileldModifier  访问级别

    <StackPanel>
        <TextBox x:Name="textBox1" x:FieldModifier="public" Margin="5"/>
        <TextBox x:Name="textBox2" x:FieldModifier="public" Margin="5"/>
        <TextBox x:Name="textBox3" Margin="5"/>
    </StackPanel>

3.x:key  静态资源的访问  需要引用mscorlib命名空间,然后添加资源文件;

<Window x:Class="HelloWpf.MainWindow"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        Title="MainWindow" Height="450" Width="800">
    <Window.Resources>
        <sys:String x:Key="myString">Hello Wpf Resource</sys:String>
    </Window.Resources>

访问如下:

 <StackPanel Background="Gray">
        <TextBox Text="{StaticResource ResourceKey=myString}" Margin="5"/>
        <TextBox x:Name="textBox1" Margin="5"/>
        <Button Content="Show" Click="Button_Click" Margin="5"/>
    </StackPanel>

  C#中也能访问:
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            string str = this.FindResource("myString") as string;
            this.textBox1.Text = str;
        }

4.x:Shared  :和x:key配合使用,如果x:Shared的值为true,多个地方引用得到的是同一个对象,如果是false,则得到的是这个对象的副本,默认为true;

5.x:Type  :有时需要将一个Type当值传入属性中,例如,把本地的MyWindow传入Button中的UserWindowType属性中

  <StackPanel>
        <local:MyButton Content="Show" UserWindowType="{x:Type local:MyWindow}" Margin="5"/>
    </StackPanel>
 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();
            }
        }
    }

 6.x:Array 使用标签声明语法使用x:Array

<ListBox Margin="5">
        <ListBox.ItemsSource>
            <x:Array Type="sys:String">
                <sys:String>Tim</sys:String>
                <sys:String>Tom</sys:String>
                <sys:String>Victor</sys:String>
            </x:Array>
        </ListBox.ItemsSource>
    </ListBox>

7.x:static 因为在xaml中不能编写逻辑代码,所以只能访问数据类型的属性或者字段

namespace HelloWpf
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        public static string WindowTitle = "山高月小";
        public static string ShowText { get { return "水落石出"; } }
        public MainWindow()
        {
            InitializeComponent();
        }

    }
}
<Window x:Class="HelloWpf.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:sys="clr-namespace:System;assembly=mscorlib"
        xmlns:local="clr-namespace:HelloWpf"
        mc:Ignorable="d"
        Title = "{x:Static local:MainWindow.WindowTitle}" Height="450" Width="800">
</Window>

8.x:XData  就是为了提供xml化的数据;

标签:属性,string,Button,详解,名称,空间,textBox,public,Name
From: https://www.cnblogs.com/guoxu486/p/18337366

相关文章

  • C语言基础--数组详解
    目录数组的概述1数组的概念2数组的分类一维数组1一维数组的定义2数组的访问3数组元素的初始值3.1先定义,后设置值3.2定义同时设置初始值3.2.1全部设置初始值3.2.2部分设置初始值4一维数组的应用实例5一维字符数组5.1一维字符数组的定义5.2一维字符......
  • C++异常处理详解
    目录一、异常处理的基本概念1.1例外类型1.2异常处理流程二、C++异常处理的语法2.1抛出异常2.2捕获异常三、示例代码示例:简单的除法操作3.1代码解析四、注意事项五、小结        异常处理是程序的一种控制结构,用于处理在程序执行期间可能出现的错误......
  • 无人机培训与装配维修技术详解
    一、无人机基础理论无人机,即无人驾驶航空器,凭借其灵活性、高效性和广泛应用性,已成为现代科技领域的热点之一。在学习无人机培训与装配维修技术之前,掌握无人机的基础理论是必不可少的。这包括但不限于:1.无人机分类:了解固定翼无人机、多旋翼无人机、直升机无人机等不同类型的......
  • CAAC小型六旋翼训练无人机技术详解
    电动六旋翼无人机,该无人机采用横向折叠臂,性能优秀、操控简单、安全性高,适合用于基础多旋翼飞行技能训练。同时,该无人机符合《民用无人机驾驶员管理规定》中关于多旋翼无人机训练类别的要求,可用于多旋翼无人机实践飞行训练。1.飞行原理与结构CAAC(中国民用航空局)认证的小型......
  • C++ const的用法详解
    前言const在C/C++中是十分重要的,如果单纯理解为"常量"那么你的格局就小了,今天在这里给大家介绍一下const在C++中具体详细的用法。一const的基本概念const名叫常量限定符,用来限定特定变量,以通知编译器该变量是不可修改的。习惯性的使用const,可以避免在函数中对某些不应修改的......
  • Cookie,Session Filter,Listener详解
    HTTP请求的无状态性HTTP的无状态性是其一个重要的特征,指的是HTTP协议本身并不保留客户端与服务器交互的历史信息,换而言之,即每次的HTTP请求都是独立的,服务器在处理每一个请求时都不会记住前一个请求的状态无状态的含义独立性:每次的HTTP请求都是独立的,不依赖于之前的请......
  • uniapp [全端兼容] - 最新详细实现拍摄视频录像并可播放预览视频,调起本机摄像头开启录
    前言网上的教程乱七八糟BUG太多,本文提供优质示例代码。在uni-app全平台兼容(H5网页网站、支付宝/微信小程序、安卓App、苹果App、nvue)项目开发中,详解完成“uniApp拍摄录制视频并预览播放”,调起本机系统摄像头打开视频录制,用户点击按钮开始拍摄视频最终完成摄影,然后保......
  • 电化学一氧化碳传感器:工作原理与应用详解
    电化学一氧化碳传感器是一种用于检测空气中一氧化碳(CO)浓度的设备,它基于电化学原理运作。这类传感器的核心组成部分包括电极、电解质和透气膜,它们共同构成一个微型的电化学电池。电化学一氧化碳传感器的特点包括:快速响应:传感器能够迅速地对气体浓度变化做出反应。高灵敏度:......
  • Prometheus 告警原理详解
    通俗易懂的一篇文章,主要介绍了Prometheus什么时候告警,什么时候不会告警。同时介绍了Prometheus告警原理。警报是监控系统中必不可少的一块,当然了,也是最难搞的一块.我们乍一想,警报似乎很简单一件事:假如发生了异常情况,发送或邮件/消息通知给某人或某频道。 一把......
  • Linux top 命令详解
            top命令是Linux和Unix系统中一个非常强大的实时系统监控工具,它可以显示系统中各个进程的实时动态管理视图,类似于Windows的任务管理器。在需要诊断系统性能问题或监控资源使用情况时是非常有用的。使用top命令        在命令行中输入top并回车,即可启......