区块链技术博客
www.b2bchain.cn

wpf-基础-xaml-标记扩展&指令元素

这篇文章主要介绍了wpf-基础-xaml-标记扩展&指令元素的讲解,通过具体代码实例进行17861 讲解,并且分析了wpf-基础-xaml-标记扩展&指令元素的详细步骤与相关技巧,需要的朋友可以参考下https://www.b2bchain.cn/?p=17861

本文实例讲述了2、树莓派设置连接WiFi,开启VNC等等的讲解。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/7039.html。具体如下:

目录

  • 标记扩展
    • x:Type示例
    • x:Null示例
    • x:Array示例
    • x:Static示例
  • 指令元素

标记扩展

名称 说明
x:Type 声明数据类型,比如自定义一些按钮/组件
x:Null 表示空值。如果一个属性具有默认值但不想用那个值,就要显式设置null
x:Array 传递一个已知类型的ArrayList实例(例子是前端自己展示数据)
x:Static 访问c#类中static成员(变量和函数)如果一个程序需要国际化支持,此时将需要显示的字符串存在一个资源类的static属性中,那么会多次使用x:Static

x:Type示例

新建一个MyWindow.xaml作为子窗口,内容如下
wpf-基础-xaml-标记扩展&指令元素
MyWindow.xaml.cs

自定义了一个button的子类,带一个Type类型的属性UserWindowType。这个类还重写了OnClick,如果属性UserWindowType是Window(及其子类),那就要展示出来。
wpf-基础-xaml-标记扩展&指令元素
MainWindow.xaml

因为MyButton和MyWindow都是命名空间pxy中的,所以要加前缀local映射。现在用x:Type说明UserWindowType就是MyWindow类型的,而MyWindow是Window的派生类,所以就要展示出来了。
wpf-基础-xaml-标记扩展&指令元素
MainWindow.xaml.cs
wpf-基础-xaml-标记扩展&指令元素
最终实现的效果是点击主窗口的Show按钮,弹出另一个窗口:
wpf-基础-xaml-标记扩展&指令元素
wpf-基础-xaml-标记扩展&指令元素

x:Null示例

    <Window.Resources>         <Style x:Key="{x:Type Button}" TargetType="{x:Type Button}">             <Setter Property="Width" Value="60"/>             <Setter Property="Height" Value="36"/>             <Setter Property="Margin" Value="5"/>         </Style>     </Window.Resources>     <StackPanel>         <Button />         <Button />         <Button  Style="{x:Null}"/>     </StackPanel>

< Style >把所有Button设置成一种格式了(Margin表示四周5个像素的留白),对于最后一个,则按照默认格式来,效果:
wpf-基础-xaml-标记扩展&amp;指令元素

x:Array示例

<Window x:Class="pxy.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:pxy"         mc:Ignorable="d"         Title="MainWindow" Height="170" Width="200">     <Grid Background="LightBlue">         <ListBox Margin="5">             <ListBox.ItemsSource>                 <x:Array Type="sys:String">                     <sys:String>AA</sys:String>                     <sys:String>BB</sys:String>                     <sys:String>CC</sys:String>                 </x:Array>             </ListBox.ItemsSource>         </ListBox>     </Grid> </Window>

在解析<x:Array>标签时,编译器会产生调用AddChild方法的代码把< x:Array >的子元素逐个添加到x:Array的实例Items里。效果:
wpf-基础-xaml-标记扩展&amp;指令元素

x:Static示例

为MainWindow类添加static成员。

MainWindow.xaml.cs

namespace pxy {     /// <summary>     /// MainWindow.xaml 的交互逻辑     /// </summary>     public partial class MainWindow : Window     {         public static string WindowTitle = "我是窗口";         public static string ShowText { get { return "你好!"; } }         public MainWindow()         {             InitializeComponent();         }     } } 

MainWindow.xaml:Title使用静态成员变量,TextBox的内容使用静态成员函数的返回值。

<Window x:Class="pxy.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:pxy"         mc:Ignorable="d"         Title="{x:Static local:MainWindow.WindowTitle}" Height="170" Width="200">     <Grid Background="LightBlue">         <TextBox FontSize="45" Text="{x:Static local:MainWindow.ShowText}"/>     </Grid> </Window>

wpf-基础-xaml-标记扩展&amp;指令元素

指令元素

x:Code 包含一些c#代码

x:XData 数据提供者标签下存放数据的标签

数据源:包含数据的对象

数据提供者:把数据源中的数据提供给数据使用者

本文转自互联网,侵权联系删除wpf-基础-xaml-标记扩展&指令元素

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » wpf-基础-xaml-标记扩展&指令元素
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们