WPF学习-x名称空间

发布时间:2026/10/7 15:05:27
WPF学习-x名称空间 WPF学习-x名称空间1.x:Class的作用定义这个Attribute的作用就是告诉XMAL编译器编译出来的代码和哪个C#的后台代码合并。比如说我们新建一个wpfx:Class“WpfApp3.MainWindow”​Windowx:ClassWpfApp3.MainWindowxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:localclr-namespace:WpfApp3mc:IgnorabledTitleMainWindowHeight450Width800StackPanelTextBoxx:NameMyTextBoxMargin5/TextBoxButtonContenthelloHeight30ClickButton_Click/Button/StackPanel/Window​​namespaceWpfApp3{/// summary/// MainWindow.xaml 的交互逻辑/// /summarypublicpartialclassMainWindow:Window{publicMainWindow(){InitializeComponent();}privatevoidButton_Click(objectsender,RoutedEventArgse){MyTextBox.Texthello;}}}这里的Window x:ClassWpfApp3.MainWindow就是表示等下编译完你和后面这个MainWindow的.CS代码合并但是如果将这个x:class改成WindowsABC也可以运行但是这些和后台联动的代码都不起作用了。​Windowx:ClassWpfApp3.WindowABCxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:localclr-namespace:WpfApp3mc:IgnorabledTitleMainWindowHeight450Width800StackPanelTextBoxx:NameMyTextBoxMargin5/TextBoxButtonContenthelloHeight30/Button/StackPanel/Window​2.x:Name的作用定义就是将XMAL的对象声明一个引用变量这个引用变量的名字就时x:Name后面的名称。StackPanelTextBoxx:NameMyTextBoxMargin5/TextBoxButtonContenthelloHeight30/Button/StackPanel类似于这种3.x:Key的作用定义为资源定义资源的索引Window.Resourcessys:Stringx:KeymyStringhello world/sys:String/Window.ResourcesStackPanelx:NameMyStackPanelTextBoxx:NamemyTxt1Margin5Text{StaticResource ResourceKeymyString}/TextBoxTextBoxx:NamemyTxt2Margin5/TextBoxButtonMargin5ClickButton_ClickHeight20ContentClick me/Button/StackPanel这个x:Key“myString” 就是字符串4.x:Type的作用定义为一个类型取个名称第一步创建一个新的windowWindowx:ClassWpfApp4.MyWindowxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:localclr-namespace:WpfApp4mc:IgnorabledTitleMyWindowHeight100Width50StackPanelTextBoxMargin5/TextBoxTextBoxMargin5/TextBoxTextBoxMargin5/TextBox/StackPanel/Window第二步新建一个Mybutton的类派生字Button,新建一个type的类型并且重写Onclick的方法再Onclick的外部事件触发完成后再次将这个type类型实例化成一个window类型并且输出展示publicpartialclassMainWindow:Window{publicMainWindow(){InitializeComponent();}}publicclassMyButton:Button{publicTypeMyType{get;set;}protectedoverridevoidOnClick(){base.OnClick();WindowwinActivator.CreateInstance(this.MyType)asWindow;win.Show();}}第三步在mainWindow的xmal里调用这个button并且将第一步的window类型赋值给button的type属性StackPanellocal:MyButtonContentshowMyType{x:Type local:MyWindow}Margin5/local:MyButton/StackPanel第四步这样就可以通过show按钮来弹出新的window需要注意的是x:type通常在拓展标记里出现所以需要用{}而且赋值不用号用空格5.x:Null的作用定义在xmal里的null作用比如我们在定义了一个style后如果后面的按钮不需要这个style那么就可以直接赋值nullWindow.ResourcesStylex:Key{x:Type Button}TargetType{x:Type Button}SetterPropertyHeightValue30/SetterSetterPropertyWidthValue30/Setter/Style/Window.ResourcesStackPanelButtonContentokStyle{x:Null}/ButtonButtonContentok/ButtonButtonContentok/Button/StackPanel6.xArray的作用定义声明一个数组用来给一些集合属性硬编码少量数据GridListBoxMargin5ListBox.ItemsSourcex:ArrayTypesys:Stringsys:Stringtim/sys:Stringsys:Stringtom/sys:String/x:Array/ListBox.ItemsSource/ListBox/Grid/Window7 x:Static的作用定义当在Xaml里使用静态成员时需要GridTextBlockText{x:Static local:MainWindow.str1}/TextBlock/GridpublicpartialclassMainWindow:Window{publicMainWindow(){InitializeComponent();}publicstaticstringstr1白日依山尽;}}8.总结以上就是常用的几种x:名称空间的用法

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询