翼度科技»论坛 编程开发 .net 查看内容

WPF复习知识点记录

2

主题

2

帖子

6

积分

新手上路

Rank: 1

积分
6
WPF复习知识点记录

由于近几年主要在做Web项目,客户端的项目主要是以维护为主,感觉对于基础知识的掌握没有那么牢靠,趁着这个周末重新复习下WPF的相关知识。
文章内容主要来自大佬刘铁锰老师的经典著作《深入浅出WPF》。
因为是复习,所以知识内容不会一一记录,如有需要了解更多可以看书中内容。
注意:博客中的代码示例我是以avalonia为UI框架写的。代码可能部分跟WPF的稍有不同。
1.从零起步认识XAML

1.什么是XAML

XAML(读作zaml)是WPF技术中专门用于设计UI <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />的语言
2.优点


  • 实现界面与代码的分离
  • 可以设计出专业的UI和动画
  • 基于XML的标记语言,简单易懂,结构清晰
3.XAML剖析

1.最简单的XAML代码
  1. [/code]这个示例中,Window是一个XAML元素,它表示窗口组件。xmlns属性定义了XML命名空间,即指明XAML所使用的命名空间。在这里,http://schemas.microsoft.com/winfx/2006/xaml/presentation是WPF的命名空间。
  2. 这个示例中的XAML代码只有一个Window元素,它是一个空的容器。可以在Window元素中添加其他界面元素,例如按钮、文本框等,来构建应用程序的用户界面。同样,可以在XAML中设置属性来更改元素的外观和行为。
  3. [size=3]2.property和attribute[/size]
  4. 先不说WPF中两个属性的定义,我们先看看对应一个类的对象。
  5. 1)[b]属性[/b]是指类体里用get或set封装好的属性。属性是面向对象的理论范畴。比如说一个盒子,盒子的高度,长度,都是这个盒子的属性。在C#中实现的时候可以通过GET <TextBox Grid.Row="4"
  6.                            Name="Editor3"
  7.                            AcceptsReturn="True"
  8.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  9.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />SET <TextBox Grid.Row="4"
  10.                            Name="Editor3"
  11.                            AcceptsReturn="True"
  12.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  13.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />封装。
  14. 2)[b]特性[/b]是指应用于类,字段,方法,接口的进一步说明,用专业的术语就是给类,字段,方法,接口补充元数据,说的再白一点就是给它们打上标记,打了标记后编译器就知道如何来编译它。特性是属于[url=http://www.xuebuyuan.com/]编程语言[/url]层面的东西。比如2个相同的类,为了表示这2个类不完全相同或者有差异。这时候就要针对这两个类加一些特性。
  15. [code][Serializable]<WrapPanel>
  16. <TextBox Grid.Row="4"
  17.                            Name="Editor3"
  18.                            AcceptsReturn="True"
  19.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  20.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  21.                            Name="Editor3"
  22.                            AcceptsReturn="True"
  23.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  24.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  25.                            Name="Editor3"
  26.                            AcceptsReturn="True"
  27.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  28.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  29.                            Name="Editor3"
  30.                            AcceptsReturn="True"
  31.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  32.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  33.                            Name="Editor3"
  34.                            AcceptsReturn="True"
  35.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  36.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  37. <TextBox Grid.Row="4"
  38.                            Name="Editor3"
  39.                            AcceptsReturn="True"
  40.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  41.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  42.                            Name="Editor3"
  43.                            AcceptsReturn="True"
  44.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  45.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  46.                            Name="Editor3"
  47.                            AcceptsReturn="True"
  48.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  49.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  50.                            Name="Editor3"
  51.                            AcceptsReturn="True"
  52.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  53.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  54.                            Name="Editor3"
  55.                            AcceptsReturn="True"
  56.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  57.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  58. <TextBox Grid.Row="4"
  59.                            Name="Editor3"
  60.                            AcceptsReturn="True"
  61.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  62.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  63.                            Name="Editor3"
  64.                            AcceptsReturn="True"
  65.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  66.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  67.                            Name="Editor3"
  68.                            AcceptsReturn="True"
  69.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  70.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  71.                            Name="Editor3"
  72.                            AcceptsReturn="True"
  73.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  74.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  75.                            Name="Editor3"
  76.                            AcceptsReturn="True"
  77.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  78.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  79. <TextBox Grid.Row="4"
  80.                            Name="Editor3"
  81.                            AcceptsReturn="True"
  82.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  83.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  84.                            Name="Editor3"
  85.                            AcceptsReturn="True"
  86.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  87.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  88.                            Name="Editor3"
  89.                            AcceptsReturn="True"
  90.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  91.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  92.                            Name="Editor3"
  93.                            AcceptsReturn="True"
  94.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  95.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  96.                            Name="Editor3"
  97.                            AcceptsReturn="True"
  98.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  99.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  100. <TextBox Grid.Row="4"
  101.                            Name="Editor3"
  102.                            AcceptsReturn="True"
  103.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  104.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  105.                            Name="Editor3"
  106.                            AcceptsReturn="True"
  107.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  108.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  109.                            Name="Editor3"
  110.                            AcceptsReturn="True"
  111.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  112.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  113.                            Name="Editor3"
  114.                            AcceptsReturn="True"
  115.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  116.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  117.                            Name="Editor3"
  118.                            AcceptsReturn="True"
  119.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  120.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  121. <TextBox Grid.Row="4"
  122.                            Name="Editor3"
  123.                            AcceptsReturn="True"
  124.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  125.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  126.                            Name="Editor3"
  127.                            AcceptsReturn="True"
  128.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  129.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  130.                            Name="Editor3"
  131.                            AcceptsReturn="True"
  132.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  133.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  134.                            Name="Editor3"
  135.                            AcceptsReturn="True"
  136.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  137.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  138.                            Name="Editor3"
  139.                            AcceptsReturn="True"
  140.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  141.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  142. </WrapPanel> <TextBox Grid.Row="4"
  143.                            Name="Editor3"
  144.                            AcceptsReturn="True"
  145.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  146.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  147.                            Name="Editor3"
  148.                            AcceptsReturn="True"
  149.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  150.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  151.                            Name="Editor3"
  152.                            AcceptsReturn="True"
  153.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  154.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  155.                            Name="Editor3"
  156.                            AcceptsReturn="True"
  157.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  158.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  159.                            Name="Editor3"
  160.                            AcceptsReturn="True"
  161.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  162.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  163.                            Name="Editor3"
  164.                            AcceptsReturn="True"
  165.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  166.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  167.                            Name="Editor3"
  168.                            AcceptsReturn="True"
  169.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  170.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  171.                            Name="Editor3"
  172.                            AcceptsReturn="True"
  173.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  174.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  175.                            Name="Editor3"
  176.                            AcceptsReturn="True"
  177.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  178.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  179.                            Name="Editor3"
  180.                            AcceptsReturn="True"
  181.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  182.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  183.                            Name="Editor3"
  184.                            AcceptsReturn="True"
  185.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  186.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />// <TextBox Grid.Row="4"
  187.                            Name="Editor3"
  188.                            AcceptsReturn="True"
  189.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  190.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />这是Attribute,打上该标记的类说明可以被序列化
  191. class <TextBox Grid.Row="4"
  192.                            Name="Editor3"
  193.                            AcceptsReturn="True"
  194.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  195.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Order
  196. {
  197. <TextBox Grid.Row="4"
  198.                            Name="Editor3"
  199.                            AcceptsReturn="True"
  200.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  201.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  202.                            Name="Editor3"
  203.                            AcceptsReturn="True"
  204.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  205.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  206.                            Name="Editor3"
  207.                            AcceptsReturn="True"
  208.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  209.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />protected <TextBox Grid.Row="4"
  210.                            Name="Editor3"
  211.                            AcceptsReturn="True"
  212.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  213.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />internal <TextBox Grid.Row="4"
  214.                            Name="Editor3"
  215.                            AcceptsReturn="True"
  216.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  217.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Single <TextBox Grid.Row="4"
  218.                            Name="Editor3"
  219.                            AcceptsReturn="True"
  220.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  221.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Price <TextBox Grid.Row="4"
  222.                            Name="Editor3"
  223.                            AcceptsReturn="True"
  224.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  225.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />{ <TextBox Grid.Row="4"
  226.                            Name="Editor3"
  227.                            AcceptsReturn="True"
  228.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  229.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />get; <TextBox Grid.Row="4"
  230.                            Name="Editor3"
  231.                            AcceptsReturn="True"
  232.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  233.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />set; <TextBox Grid.Row="4"
  234.                            Name="Editor3"
  235.                            AcceptsReturn="True"
  236.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  237.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />} <TextBox Grid.Row="4"
  238.                            Name="Editor3"
  239.                            AcceptsReturn="True"
  240.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  241.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />// <TextBox Grid.Row="4"
  242.                            Name="Editor3"
  243.                            AcceptsReturn="True"
  244.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  245.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />这是Property
  246. <TextBox Grid.Row="4"
  247.                            Name="Editor3"
  248.                            AcceptsReturn="True"
  249.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  250.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  251.                            Name="Editor3"
  252.                            AcceptsReturn="True"
  253.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  254.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  255.                            Name="Editor3"
  256.                            AcceptsReturn="True"
  257.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  258.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />[Obsolete("此方法已过时,请改用xxx.")] <TextBox Grid.Row="4"
  259.                            Name="Editor3"
  260.                            AcceptsReturn="True"
  261.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  262.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  263.                            Name="Editor3"
  264.                            AcceptsReturn="True"
  265.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  266.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  267.                            Name="Editor3"
  268.                            AcceptsReturn="True"
  269.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  270.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  271.                            Name="Editor3"
  272.                            AcceptsReturn="True"
  273.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  274.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  275.                            Name="Editor3"
  276.                            AcceptsReturn="True"
  277.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  278.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  279.                            Name="Editor3"
  280.                            AcceptsReturn="True"
  281.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  282.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  283.                            Name="Editor3"
  284.                            AcceptsReturn="True"
  285.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  286.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  287.                            Name="Editor3"
  288.                            AcceptsReturn="True"
  289.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  290.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  291.                            Name="Editor3"
  292.                            AcceptsReturn="True"
  293.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  294.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  295.                            Name="Editor3"
  296.                            AcceptsReturn="True"
  297.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  298.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  299.                            Name="Editor3"
  300.                            AcceptsReturn="True"
  301.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  302.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />// <TextBox Grid.Row="4"
  303.                            Name="Editor3"
  304.                            AcceptsReturn="True"
  305.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  306.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />打上该标记说明此方法是过时的
  307. <TextBox Grid.Row="4"
  308.                            Name="Editor3"
  309.                            AcceptsReturn="True"
  310.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  311.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  312.                            Name="Editor3"
  313.                            AcceptsReturn="True"
  314.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  315.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  316.                            Name="Editor3"
  317.                            AcceptsReturn="True"
  318.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  319.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />public <TextBox Grid.Row="4"
  320.                            Name="Editor3"
  321.                            AcceptsReturn="True"
  322.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  323.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Single <TextBox Grid.Row="4"
  324.                            Name="Editor3"
  325.                            AcceptsReturn="True"
  326.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  327.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />GetPrice()
  328. <TextBox Grid.Row="4"
  329.                            Name="Editor3"
  330.                            AcceptsReturn="True"
  331.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  332.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  333.                            Name="Editor3"
  334.                            AcceptsReturn="True"
  335.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  336.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  337.                            Name="Editor3"
  338.                            AcceptsReturn="True"
  339.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  340.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />{
  341. <TextBox Grid.Row="4"
  342.                            Name="Editor3"
  343.                            AcceptsReturn="True"
  344.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  345.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  346.                            Name="Editor3"
  347.                            AcceptsReturn="True"
  348.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  349.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  350.                            Name="Editor3"
  351.                            AcceptsReturn="True"
  352.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  353.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  354.                            Name="Editor3"
  355.                            AcceptsReturn="True"
  356.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  357.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  358.                            Name="Editor3"
  359.                            AcceptsReturn="True"
  360.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  361.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  362.                            Name="Editor3"
  363.                            AcceptsReturn="True"
  364.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  365.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />return <TextBox Grid.Row="4"
  366.                            Name="Editor3"
  367.                            AcceptsReturn="True"
  368.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  369.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />default(Single);
  370. <TextBox Grid.Row="4"
  371.                            Name="Editor3"
  372.                            AcceptsReturn="True"
  373.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  374.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  375.                            Name="Editor3"
  376.                            AcceptsReturn="True"
  377.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  378.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  379.                            Name="Editor3"
  380.                            AcceptsReturn="True"
  381.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  382.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />}
  383. }
复制代码
在看在XAML中:
Attribute <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />在XAML中的对于标签的属性特征,以下都是Window标签下的attribute
  1. xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:vm="using:AvaloniaMarkdown.ViewModels"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. mc:Ignorable="d" <TextBox Grid.Row="4"
  7.                            Name="Editor3"
  8.                            AcceptsReturn="True"
  9.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  10.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />d:DesignWidth="800" <TextBox Grid.Row="4"
  11.                            Name="Editor3"
  12.                            AcceptsReturn="True"
  13.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  14.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />d:DesignHeight="450"
  15. x:
  16. x:DataType="vm:MainWindowViewModel"
  17. xmlns:md="clr-namespace:Markdown.Avalonia;assembly=Markdown.Avalonia"
  18. Icon="/Assets/avalonia-logo.ico"
  19. Title="AvaloniaMarkdown"
复制代码
Property <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />在后台代码中针对对象的属性特征,对应的后端类的对象Text,就是一个 <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />property:
  1. private <TextBox Grid.Row="4"
  2.                            Name="Editor3"
  3.                            AcceptsReturn="True"
  4.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  5.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />string <TextBox Grid.Row="4"
  6.                            Name="Editor3"
  7.                            AcceptsReturn="True"
  8.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  9.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />_text="hello";
  10. public <TextBox Grid.Row="4"
  11.                            Name="Editor3"
  12.                            AcceptsReturn="True"
  13.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  14.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />string <TextBox Grid.Row="4"
  15.                            Name="Editor3"
  16.                            AcceptsReturn="True"
  17.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  18.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Text
  19. {
  20. <TextBox Grid.Row="4"
  21.                            Name="Editor3"
  22.                            AcceptsReturn="True"
  23.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  24.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  25.                            Name="Editor3"
  26.                            AcceptsReturn="True"
  27.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  28.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  29.                            Name="Editor3"
  30.                            AcceptsReturn="True"
  31.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  32.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  33.                            Name="Editor3"
  34.                            AcceptsReturn="True"
  35.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  36.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />get <TextBox Grid.Row="4"
  37.                            Name="Editor3"
  38.                            AcceptsReturn="True"
  39.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  40.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />=> <TextBox Grid.Row="4"
  41.                            Name="Editor3"
  42.                            AcceptsReturn="True"
  43.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  44.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />_text;
  45. <TextBox Grid.Row="4"
  46.                            Name="Editor3"
  47.                            AcceptsReturn="True"
  48.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  49.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  50.                            Name="Editor3"
  51.                            AcceptsReturn="True"
  52.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  53.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  54.                            Name="Editor3"
  55.                            AcceptsReturn="True"
  56.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  57.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  58.                            Name="Editor3"
  59.                            AcceptsReturn="True"
  60.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  61.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />set <TextBox Grid.Row="4"
  62.                            Name="Editor3"
  63.                            AcceptsReturn="True"
  64.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  65.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />=> <TextBox Grid.Row="4"
  66.                            Name="Editor3"
  67.                            AcceptsReturn="True"
  68.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  69.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />this.RaiseAndSetIfChanged(ref <TextBox Grid.Row="4"
  70.                            Name="Editor3"
  71.                            AcceptsReturn="True"
  72.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  73.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />_text, <TextBox Grid.Row="4"
  74.                            Name="Editor3"
  75.                            AcceptsReturn="True"
  76.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  77.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />value);
  78. }
  79. private <TextBox Grid.Row="4"
  80.                            Name="Editor3"
  81.                            AcceptsReturn="True"
  82.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  83.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />string <TextBox Grid.Row="4"
  84.                            Name="Editor3"
  85.                            AcceptsReturn="True"
  86.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  87.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />_filePath;
复制代码
3.xmlns <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />名称空间


xmlns[:可选的映射前缀]="名称空间"
用于引用外来程序集
  1. xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:vm="using:AvaloniaMarkdown.ViewModels"
复制代码
没有映射前缀的是默认名称空间,默认名称空间只能有一个。
通过xmlns,我们可以直接使用这些CLR名称空间中的类型
4.partial关键字

XAML文件对应的.xaml.cs文件中的类的声明使用了partial关键字,可以把一个类拆分在多处定义,只要各部分代码不冲突即可,由于partial机制,我们实现逻辑代码留在.cs文件中,把UI元素相关代码分离出去。
  1. public <TextBox Grid.Row="4"
  2.                            Name="Editor3"
  3.                            AcceptsReturn="True"
  4.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  5.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />partial <TextBox Grid.Row="4"
  6.                            Name="Editor3"
  7.                            AcceptsReturn="True"
  8.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  9.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />class <TextBox Grid.Row="4"
  10.                            Name="Editor3"
  11.                            AcceptsReturn="True"
  12.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  13.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />MainWindow <TextBox Grid.Row="4"
  14.                            Name="Editor3"
  15.                            AcceptsReturn="True"
  16.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  17.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />: <TextBox Grid.Row="4"
  18.                            Name="Editor3"
  19.                            AcceptsReturn="True"
  20.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  21.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Window
  22. {
  23. <TextBox Grid.Row="4"
  24.                            Name="Editor3"
  25.                            AcceptsReturn="True"
  26.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  27.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  28.                            Name="Editor3"
  29.                            AcceptsReturn="True"
  30.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  31.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  32.                            Name="Editor3"
  33.                            AcceptsReturn="True"
  34.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  35.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  36.                            Name="Editor3"
  37.                            AcceptsReturn="True"
  38.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  39.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />public <TextBox Grid.Row="4"
  40.                            Name="Editor3"
  41.                            AcceptsReturn="True"
  42.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  43.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />MainWindow()
  44. <TextBox Grid.Row="4"
  45.                            Name="Editor3"
  46.                            AcceptsReturn="True"
  47.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  48.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  49.                            Name="Editor3"
  50.                            AcceptsReturn="True"
  51.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  52.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  53.                            Name="Editor3"
  54.                            AcceptsReturn="True"
  55.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  56.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  57.                            Name="Editor3"
  58.                            AcceptsReturn="True"
  59.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  60.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />{
  61. <TextBox Grid.Row="4"
  62.                            Name="Editor3"
  63.                            AcceptsReturn="True"
  64.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  65.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  66.                            Name="Editor3"
  67.                            AcceptsReturn="True"
  68.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  69.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  70.                            Name="Editor3"
  71.                            AcceptsReturn="True"
  72.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  73.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  74.                            Name="Editor3"
  75.                            AcceptsReturn="True"
  76.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  77.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  78.                            Name="Editor3"
  79.                            AcceptsReturn="True"
  80.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  81.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  82.                            Name="Editor3"
  83.                            AcceptsReturn="True"
  84.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  85.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  86.                            Name="Editor3"
  87.                            AcceptsReturn="True"
  88.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  89.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  90.                            Name="Editor3"
  91.                            AcceptsReturn="True"
  92.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  93.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />InitializeComponent();
  94. <TextBox Grid.Row="4"
  95.                            Name="Editor3"
  96.                            AcceptsReturn="True"
  97.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  98.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  99.                            Name="Editor3"
  100.                            AcceptsReturn="True"
  101.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  102.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  103.                            Name="Editor3"
  104.                            AcceptsReturn="True"
  105.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  106.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  107.                            Name="Editor3"
  108.                            AcceptsReturn="True"
  109.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  110.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />}
  111. }
复制代码
2.XAML语法

1.树形结构
  1. <Window>
  2.         <Grid>
  3.                 <Grid.ColumnDefinitions>
  4.                         <ColumnDefinition <TextBox Grid.Row="4"
  5.                            Name="Editor3"
  6.                            AcceptsReturn="True"
  7.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  8.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Width="10*"/>
  9.                         <ColumnDefinition <TextBox Grid.Row="4"
  10.                            Name="Editor3"
  11.                            AcceptsReturn="True"
  12.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  13.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Width="10*"/>
  14.                 </Grid.ColumnDefinitions>
  15.                 <Grid.RowDefinitions>
  16.                         <RowDefinition <TextBox Grid.Row="4"
  17.                            Name="Editor3"
  18.                            AcceptsReturn="True"
  19.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  20.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Height="1*"/>
  21.                         <RowDefinition <TextBox Grid.Row="4"
  22.                            Name="Editor3"
  23.                            AcceptsReturn="True"
  24.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  25.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Height="10*"/>
  26.                 </Grid.RowDefinitions>
  27.                 <Grid <TextBox Grid.Row="4"
  28.                            Name="Editor3"
  29.                            AcceptsReturn="True"
  30.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  31.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Grid.Row="0"
  32. <TextBox Grid.Row="4"
  33.                            Name="Editor3"
  34.                            AcceptsReturn="True"
  35.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  36.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  37.                            Name="Editor3"
  38.                            AcceptsReturn="True"
  39.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  40.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  41.                            Name="Editor3"
  42.                            AcceptsReturn="True"
  43.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  44.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  45.                            Name="Editor3"
  46.                            AcceptsReturn="True"
  47.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  48.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  49.                            Name="Editor3"
  50.                            AcceptsReturn="True"
  51.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  52.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  53.                            Name="Editor3"
  54.                            AcceptsReturn="True"
  55.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  56.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  57.                            Name="Editor3"
  58.                            AcceptsReturn="True"
  59.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  60.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  61.                            Name="Editor3"
  62.                            AcceptsReturn="True"
  63.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  64.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  65.                            Name="Editor3"
  66.                            AcceptsReturn="True"
  67.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  68.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  69.                            Name="Editor3"
  70.                            AcceptsReturn="True"
  71.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  72.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  73.                            Name="Editor3"
  74.                            AcceptsReturn="True"
  75.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  76.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  77.                            Name="Editor3"
  78.                            AcceptsReturn="True"
  79.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  80.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Grid.Column="0" <TextBox Grid.Row="4"
  81.                            Name="Editor3"
  82.                            AcceptsReturn="True"
  83.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  84.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Grid.ColumnSpan="2">
  85.                         <Grid.ColumnDefinitions>
  86.                                 <ColumnDefinition <TextBox Grid.Row="4"
  87.                            Name="Editor3"
  88.                            AcceptsReturn="True"
  89.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  90.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Width="1*"/>
  91.                                 <ColumnDefinition <TextBox Grid.Row="4"
  92.                            Name="Editor3"
  93.                            AcceptsReturn="True"
  94.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  95.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Width="9*"/>
  96.                         </Grid.ColumnDefinitions>
  97.                         <StackPanel <TextBox Grid.Row="4"
  98.                            Name="Editor3"
  99.                            AcceptsReturn="True"
  100.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  101.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Grid.Column="0" <TextBox Grid.Row="4"
  102.                            Name="Editor3"
  103.                            AcceptsReturn="True"
  104.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  105.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />>
  106.                                 <Button>打开</Button>
  107.                                 <Button>保存</Button>
  108.                                 <Label/>
  109.                         </StackPanel>
  110.                 </Grid>
  111.                 <TextBox <TextBox Grid.Row="4"
  112.                            Name="Editor3"
  113.                            AcceptsReturn="True"
  114.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  115.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Grid.Row="1" <TextBox Grid.Row="4"
  116.                            Name="Editor3"
  117.                            AcceptsReturn="True"
  118.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  119.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Grid.Column="0"/>
  120.                 <md:MarkdownScrollViewer <TextBox Grid.Row="4"
  121.                            Name="Editor3"
  122.                            AcceptsReturn="True"
  123.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  124.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Grid.Row="1"
  125. <TextBox Grid.Row="4"
  126.                            Name="Editor3"
  127.                            AcceptsReturn="True"
  128.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  129.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  130.                            Name="Editor3"
  131.                            AcceptsReturn="True"
  132.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  133.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  134.                            Name="Editor3"
  135.                            AcceptsReturn="True"
  136.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  137.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  138.                            Name="Editor3"
  139.                            AcceptsReturn="True"
  140.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  141.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  142.                            Name="Editor3"
  143.                            AcceptsReturn="True"
  144.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  145.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  146.                            Name="Editor3"
  147.                            AcceptsReturn="True"
  148.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  149.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  150.                            Name="Editor3"
  151.                            AcceptsReturn="True"
  152.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  153.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  154.                            Name="Editor3"
  155.                            AcceptsReturn="True"
  156.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  157.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  158.                            Name="Editor3"
  159.                            AcceptsReturn="True"
  160.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  161.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  162.                            Name="Editor3"
  163.                            AcceptsReturn="True"
  164.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  165.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  166.                            Name="Editor3"
  167.                            AcceptsReturn="True"
  168.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  169.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  170.                            Name="Editor3"
  171.                            AcceptsReturn="True"
  172.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  173.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Grid.Column="1"/>
  174.         </Grid> <TextBox Grid.Row="4"
  175.                            Name="Editor3"
  176.                            AcceptsReturn="True"
  177.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  178.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  179.                            Name="Editor3"
  180.                            AcceptsReturn="True"
  181.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  182.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />
  183. </Window>
复制代码
XAML <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />UI <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />框架是树状结构,以对象为根节点,一层一层往下包含。我们经常需要在这棵树上进行按名称查找元素、获取父子节点等操作。WPF使用VisualTreeHelper、LogicalTreeHelper来操作树。
2.x:Name

x:Name的作用:

  • 告诉XAML编译器,带有x:Name的标签需要声明一个引用变量,变量名就是x:Name的值
  • 将XAML标签对应的对象的Name属性也设为x:Name的值,并注册到UI树上,方便查找
2.x:Key

在资源字典(Resource <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Dictionary)中使用,构成其中的元素。资源(Resource <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />)非常重要,存放需要重复使用的内容。
  1.         <Application.Resources>
  2.                 <Color <TextBox Grid.Row="4"
  3.                            Name="Editor3"
  4.                            AcceptsReturn="True"
  5.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  6.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />x:Key="SystemAccentColor">rgb(155, <TextBox Grid.Row="4"
  7.                            Name="Editor3"
  8.                            AcceptsReturn="True"
  9.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  10.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />138, <TextBox Grid.Row="4"
  11.                            Name="Editor3"
  12.                            AcceptsReturn="True"
  13.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  14.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />255)</Color>
  15.                 <Color <TextBox Grid.Row="4"
  16.                            Name="Editor3"
  17.                            AcceptsReturn="True"
  18.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  19.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />x:Key="SystemAccentColorDark1">rgb(155, <TextBox Grid.Row="4"
  20.                            Name="Editor3"
  21.                            AcceptsReturn="True"
  22.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  23.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />138, <TextBox Grid.Row="4"
  24.                            Name="Editor3"
  25.                            AcceptsReturn="True"
  26.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  27.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />255)</Color>
  28.                 <Color <TextBox Grid.Row="4"
  29.                            Name="Editor3"
  30.                            AcceptsReturn="True"
  31.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  32.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />x:Key="SystemAltMediumLowColor">rgb(52, <TextBox Grid.Row="4"
  33.                            Name="Editor3"
  34.                            AcceptsReturn="True"
  35.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  36.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />53, <TextBox Grid.Row="4"
  37.                            Name="Editor3"
  38.                            AcceptsReturn="True"
  39.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  40.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />65)</Color>
  41.                 <Color <TextBox Grid.Row="4"
  42.                            Name="Editor3"
  43.                            AcceptsReturn="True"
  44.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  45.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />x:Key="ApplicationPageBackgroundThemeBrush">rgb(52, <TextBox Grid.Row="4"
  46.                            Name="Editor3"
  47.                            AcceptsReturn="True"
  48.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  49.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />53, <TextBox Grid.Row="4"
  50.                            Name="Editor3"
  51.                            AcceptsReturn="True"
  52.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  53.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />65)</Color>
  54.                 <Color <TextBox Grid.Row="4"
  55.                            Name="Editor3"
  56.                            AcceptsReturn="True"
  57.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  58.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />x:Key="ControlStrokeColorDefaultBrush">rgb(94, <TextBox Grid.Row="4"
  59.                            Name="Editor3"
  60.                            AcceptsReturn="True"
  61.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  62.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />95, <TextBox Grid.Row="4"
  63.                            Name="Editor3"
  64.                            AcceptsReturn="True"
  65.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  66.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />109)</Color>
  67.         </Application.Resources>
复制代码
3.控件

1.ContentControl <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />单一内容控件


只能单一元素充当其内容。
例如:Button、Label等(具体看书中列表)
2.HeaderdContentControl

除了用于显示主体内容的区域外,控件还具有一个显示标题(header)的区域
例如:GroupBox、TabItem
3.ItemsControl



  • 显示列表化的数据
  • 内容属性为Items或ItemsSource
  • 每种ItemsControl都对应有自己的条目容器(Item <TextBox Grid.Row="4"
                               Name="Editor3"
                               AcceptsReturn="True"
                               Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                               FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Container)
例如:ListBox、TreeView
4.Decorator

在UI <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />上起装饰效果,比如可以使用Border元素为一些组织在一起的内容加个边框
例如:Border、ViewBox
5.TextBlock和TextBox

最常用的文本控件


  • TextBlock <TextBox Grid.Row="4"
                               Name="Editor3"
                               AcceptsReturn="True"
                               Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                               FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />用于显示文本,不能编辑
  • TextBox <TextBox Grid.Row="4"
                               Name="Editor3"
                               AcceptsReturn="True"
                               Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                               FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />允许编辑内容
6.Shape

绘制图形使用的元素


  • Fill <TextBox Grid.Row="4"
                               Name="Editor3"
                               AcceptsReturn="True"
                               Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                               FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />属性设置填充
  • Stroke <TextBox Grid.Row="4"
                               Name="Editor3"
                               AcceptsReturn="True"
                               Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                               FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />属性设置边线
7.Panel

所有的UI布局元素都属于这一族
Panel元素控制布局
包括:Canvas、Grid、StackPanel等
4.布局

WPF的UI形成的树形结构,我们称之为可视化树(Visual <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Tree)
控件框架形成的树形结构,我们称之为逻辑树(Logic <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Tree)
五种大类

  • Grid <TextBox Grid.Row="4"
                               Name="Editor3"
                               AcceptsReturn="True"
                               Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                               FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />网格面板
  • DockPanel <TextBox Grid.Row="4"
                               Name="Editor3"
                               AcceptsReturn="True"
                               Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                               FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />停靠面板
  • StackPanel <TextBox Grid.Row="4"
                               Name="Editor3"
                               AcceptsReturn="True"
                               Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                               FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />栈面板
  • WrapPanel <TextBox Grid.Row="4"
                               Name="Editor3"
                               AcceptsReturn="True"
                               Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                               FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />环绕面板
  • Canvas <TextBox Grid.Row="4"
                               Name="Editor3"
                               AcceptsReturn="True"
                               Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                               FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
                               Name="Editor3"
                               AcceptsReturn="True"
                               Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                               FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />精准定位
下面复习下它们的使用方法:
1.Grid

网格形式布局
1.CloumnDefinitions

定义多少列
2.RowDefinitions

定义了多少行
  1.         <Grid>
  2.                 <Grid.ColumnDefinitions>
  3.                         <ColumnDefinition <TextBox Grid.Row="4"
  4.                            Name="Editor3"
  5.                            AcceptsReturn="True"
  6.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  7.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Width="10*"/>
  8.                         <ColumnDefinition <TextBox Grid.Row="4"
  9.                            Name="Editor3"
  10.                            AcceptsReturn="True"
  11.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  12.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Width="10*"/>
  13.                 </Grid.ColumnDefinitions>
  14.                 <Grid.RowDefinitions>
  15.                         <RowDefinition <TextBox Grid.Row="4"
  16.                            Name="Editor3"
  17.                            AcceptsReturn="True"
  18.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  19.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Height="1*"/>
  20.                         <RowDefinition <TextBox Grid.Row="4"
  21.                            Name="Editor3"
  22.                            AcceptsReturn="True"
  23.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  24.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Height="10*"/>
  25.                 </Grid.RowDefinitions>
  26.                 <Grid <TextBox Grid.Row="4"
  27.                            Name="Editor3"
  28.                            AcceptsReturn="True"
  29.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  30.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Grid.Row="0"
  31. <TextBox Grid.Row="4"
  32.                            Name="Editor3"
  33.                            AcceptsReturn="True"
  34.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  35.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  36.                            Name="Editor3"
  37.                            AcceptsReturn="True"
  38.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  39.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  40.                            Name="Editor3"
  41.                            AcceptsReturn="True"
  42.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  43.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  44.                            Name="Editor3"
  45.                            AcceptsReturn="True"
  46.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  47.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  48.                            Name="Editor3"
  49.                            AcceptsReturn="True"
  50.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  51.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  52.                            Name="Editor3"
  53.                            AcceptsReturn="True"
  54.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  55.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  56.                            Name="Editor3"
  57.                            AcceptsReturn="True"
  58.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  59.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  60.                            Name="Editor3"
  61.                            AcceptsReturn="True"
  62.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  63.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  64.                            Name="Editor3"
  65.                            AcceptsReturn="True"
  66.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  67.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  68.                            Name="Editor3"
  69.                            AcceptsReturn="True"
  70.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  71.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  72.                            Name="Editor3"
  73.                            AcceptsReturn="True"
  74.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  75.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  76.                            Name="Editor3"
  77.                            AcceptsReturn="True"
  78.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  79.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Grid.Column="0" <TextBox Grid.Row="4"
  80.                            Name="Editor3"
  81.                            AcceptsReturn="True"
  82.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  83.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Grid.ColumnSpan="2">
  84.                         <Grid.ColumnDefinitions>
  85.                                 <ColumnDefinition <TextBox Grid.Row="4"
  86.                            Name="Editor3"
  87.                            AcceptsReturn="True"
  88.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  89.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Width="1*"/>
  90.                                 <ColumnDefinition <TextBox Grid.Row="4"
  91.                            Name="Editor3"
  92.                            AcceptsReturn="True"
  93.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  94.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Width="9*"/>
  95.                         </Grid.ColumnDefinitions>
  96.                         <StackPanel <TextBox Grid.Row="4"
  97.                            Name="Editor3"
  98.                            AcceptsReturn="True"
  99.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  100.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Grid.Column="0" <TextBox Grid.Row="4"
  101.                            Name="Editor3"
  102.                            AcceptsReturn="True"
  103.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  104.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Orientation="Horizontal" <TextBox Grid.Row="4"
  105.                            Name="Editor3"
  106.                            AcceptsReturn="True"
  107.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  108.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />HorizontalAlignment="Center">
  109.                                 <Button <TextBox Grid.Row="4"
  110.                            Name="Editor3"
  111.                            AcceptsReturn="True"
  112.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  113.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Classes="small" <TextBox Grid.Row="4"
  114.                            Name="Editor3"
  115.                            AcceptsReturn="True"
  116.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  117.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Margin="0,0,20,0" <TextBox Grid.Row="4"
  118.                            Name="Editor3"
  119.                            AcceptsReturn="True"
  120.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  121.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Command="{Binding <TextBox Grid.Row="4"
  122.                            Name="Editor3"
  123.                            AcceptsReturn="True"
  124.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  125.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />UploadCommand}">打开</Button>
  126.                                 <Button <TextBox Grid.Row="4"
  127.                            Name="Editor3"
  128.                            AcceptsReturn="True"
  129.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  130.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Classes="small" <TextBox Grid.Row="4"
  131.                            Name="Editor3"
  132.                            AcceptsReturn="True"
  133.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  134.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Margin="0,0,20,0" <TextBox Grid.Row="4"
  135.                            Name="Editor3"
  136.                            AcceptsReturn="True"
  137.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  138.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Command="{Binding <TextBox Grid.Row="4"
  139.                            Name="Editor3"
  140.                            AcceptsReturn="True"
  141.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  142.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />SaveCommand}">保存</Button>
  143.                                 <Label <TextBox Grid.Row="4"
  144.                            Name="Editor3"
  145.                            AcceptsReturn="True"
  146.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  147.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Content="{Binding <TextBox Grid.Row="4"
  148.                            Name="Editor3"
  149.                            AcceptsReturn="True"
  150.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  151.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />FilePath}" <TextBox Grid.Row="4"
  152.                            Name="Editor3"
  153.                            AcceptsReturn="True"
  154.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  155.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Margin="0,0,20,0"/>
  156.                         </StackPanel>
  157.         </Grid>
复制代码
3.Grid长宽常用设置值


  • 绝对值:double <TextBox Grid.Row="4"
                               Name="Editor3"
                               AcceptsReturn="True"
                               Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                               FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />数值后加单位后缀
  • 比例值:double数值后加一个星号(*)(如上例)
  • 自动值:Auto
2.StackPanel

StackPanel可以把内部的元素在纵向或横向上紧凑排列,形成栈式布局
适合场合:

  • 同类元素需要紧凑排列(列表或菜单)
  • 移除其中的元素后能够自动补缺的布局或者动画
1.属性

常用属性数据类型可选值说明OrientationOrientationHorizontal(水平排列)\Vertical(垂直排列)决定内部元素是水平还是垂直排列,默认值(Vertical)BackgroundBrush背景色(Red/Yellow等等)HorizontalAlignmentHorizontalAlignmentCenter(中心)/Left(靠左)/Right(靠右)/Stretch(拉伸以填充父元素)决定内部元素在水平方向的对齐方式VerticalAlignmentVerticalAlignmentTop(上方)/Center(中心)/Bottom(下方)/Stretch(拉伸以填充父元素)决定内部元素在垂直方向的对齐方式3.Canvas

画布,可以使用Left、Top、Right、 <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Bottom。内部元素通过离上下左右的距离控制元素在布局中的位置。
4.DockPanel

DockPanel会对每个子元素进行排序,并停靠在面板的一侧,多个停靠在同侧的元素则按顺序排序,。
  1. <Grid>
  2. <TextBox Grid.Row="4"
  3.                            Name="Editor3"
  4.                            AcceptsReturn="True"
  5.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  6.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  7.                            Name="Editor3"
  8.                            AcceptsReturn="True"
  9.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  10.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  11.                            Name="Editor3"
  12.                            AcceptsReturn="True"
  13.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  14.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  15.                            Name="Editor3"
  16.                            AcceptsReturn="True"
  17.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  18.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><DockPanel <TextBox Grid.Row="4"
  19.                            Name="Editor3"
  20.                            AcceptsReturn="True"
  21.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  22.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Width="Auto" <TextBox Grid.Row="4"
  23.                            Name="Editor3"
  24.                            AcceptsReturn="True"
  25.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  26.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Height="Auto">
  27. <TextBox Grid.Row="4"
  28.                            Name="Editor3"
  29.                            AcceptsReturn="True"
  30.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  31.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  32.                            Name="Editor3"
  33.                            AcceptsReturn="True"
  34.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  35.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  36.                            Name="Editor3"
  37.                            AcceptsReturn="True"
  38.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  39.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  40.                            Name="Editor3"
  41.                            AcceptsReturn="True"
  42.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  43.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  44.                            Name="Editor3"
  45.                            AcceptsReturn="True"
  46.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  47.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  48.                            Name="Editor3"
  49.                            AcceptsReturn="True"
  50.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  51.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  52.                            Name="Editor3"
  53.                            AcceptsReturn="True"
  54.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  55.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  56.                            Name="Editor3"
  57.                            AcceptsReturn="True"
  58.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  59.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  60.                            Name="Editor3"
  61.                            AcceptsReturn="True"
  62.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  63.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />DockPanel.Dock="Left" <TextBox Grid.Row="4"
  64.                            Name="Editor3"
  65.                            AcceptsReturn="True"
  66.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  67.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />>1</Button>
  68. <TextBox Grid.Row="4"
  69.                            Name="Editor3"
  70.                            AcceptsReturn="True"
  71.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  72.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  73.                            Name="Editor3"
  74.                            AcceptsReturn="True"
  75.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  76.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  77.                            Name="Editor3"
  78.                            AcceptsReturn="True"
  79.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  80.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  81.                            Name="Editor3"
  82.                            AcceptsReturn="True"
  83.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  84.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  85.                            Name="Editor3"
  86.                            AcceptsReturn="True"
  87.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  88.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  89.                            Name="Editor3"
  90.                            AcceptsReturn="True"
  91.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  92.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  93.                            Name="Editor3"
  94.                            AcceptsReturn="True"
  95.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  96.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  97.                            Name="Editor3"
  98.                            AcceptsReturn="True"
  99.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  100.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  101.                            Name="Editor3"
  102.                            AcceptsReturn="True"
  103.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  104.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />DockPanel.Dock="Top">2</Button>
  105. <TextBox Grid.Row="4"
  106.                            Name="Editor3"
  107.                            AcceptsReturn="True"
  108.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  109.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  110.                            Name="Editor3"
  111.                            AcceptsReturn="True"
  112.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  113.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  114.                            Name="Editor3"
  115.                            AcceptsReturn="True"
  116.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  117.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  118.                            Name="Editor3"
  119.                            AcceptsReturn="True"
  120.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  121.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  122.                            Name="Editor3"
  123.                            AcceptsReturn="True"
  124.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  125.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  126.                            Name="Editor3"
  127.                            AcceptsReturn="True"
  128.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  129.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  130.                            Name="Editor3"
  131.                            AcceptsReturn="True"
  132.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  133.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  134.                            Name="Editor3"
  135.                            AcceptsReturn="True"
  136.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  137.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  138.                            Name="Editor3"
  139.                            AcceptsReturn="True"
  140.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  141.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />DockPanel.Dock="Right">3</Button>
  142. <TextBox Grid.Row="4"
  143.                            Name="Editor3"
  144.                            AcceptsReturn="True"
  145.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  146.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  147.                            Name="Editor3"
  148.                            AcceptsReturn="True"
  149.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  150.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  151.                            Name="Editor3"
  152.                            AcceptsReturn="True"
  153.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  154.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  155.                            Name="Editor3"
  156.                            AcceptsReturn="True"
  157.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  158.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  159.                            Name="Editor3"
  160.                            AcceptsReturn="True"
  161.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  162.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  163.                            Name="Editor3"
  164.                            AcceptsReturn="True"
  165.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  166.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  167.                            Name="Editor3"
  168.                            AcceptsReturn="True"
  169.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  170.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  171.                            Name="Editor3"
  172.                            AcceptsReturn="True"
  173.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  174.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  175.                            Name="Editor3"
  176.                            AcceptsReturn="True"
  177.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  178.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />DockPanel.Dock="Bottom">4</Button>
  179. <TextBox Grid.Row="4"
  180.                            Name="Editor3"
  181.                            AcceptsReturn="True"
  182.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  183.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  184.                            Name="Editor3"
  185.                            AcceptsReturn="True"
  186.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  187.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  188.                            Name="Editor3"
  189.                            AcceptsReturn="True"
  190.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  191.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  192.                            Name="Editor3"
  193.                            AcceptsReturn="True"
  194.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  195.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /></DockPanel>
  196. </Grid>
复制代码
5.WrapPanel

流式布局,根据Orientation属性来设置其水平或垂直布局方向
默认是水平排列
  1. <WrapPanel>
  2. <TextBox Grid.Row="4"
  3.                            Name="Editor3"
  4.                            AcceptsReturn="True"
  5.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  6.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  7.                            Name="Editor3"
  8.                            AcceptsReturn="True"
  9.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  10.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  11.                            Name="Editor3"
  12.                            AcceptsReturn="True"
  13.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  14.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  15.                            Name="Editor3"
  16.                            AcceptsReturn="True"
  17.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  18.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  19.                            Name="Editor3"
  20.                            AcceptsReturn="True"
  21.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  22.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  23. <TextBox Grid.Row="4"
  24.                            Name="Editor3"
  25.                            AcceptsReturn="True"
  26.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  27.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  28.                            Name="Editor3"
  29.                            AcceptsReturn="True"
  30.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  31.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  32.                            Name="Editor3"
  33.                            AcceptsReturn="True"
  34.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  35.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  36.                            Name="Editor3"
  37.                            AcceptsReturn="True"
  38.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  39.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  40.                            Name="Editor3"
  41.                            AcceptsReturn="True"
  42.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  43.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  44. <TextBox Grid.Row="4"
  45.                            Name="Editor3"
  46.                            AcceptsReturn="True"
  47.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  48.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  49.                            Name="Editor3"
  50.                            AcceptsReturn="True"
  51.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  52.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  53.                            Name="Editor3"
  54.                            AcceptsReturn="True"
  55.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  56.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  57.                            Name="Editor3"
  58.                            AcceptsReturn="True"
  59.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  60.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  61.                            Name="Editor3"
  62.                            AcceptsReturn="True"
  63.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  64.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  65. <TextBox Grid.Row="4"
  66.                            Name="Editor3"
  67.                            AcceptsReturn="True"
  68.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  69.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  70.                            Name="Editor3"
  71.                            AcceptsReturn="True"
  72.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  73.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  74.                            Name="Editor3"
  75.                            AcceptsReturn="True"
  76.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  77.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  78.                            Name="Editor3"
  79.                            AcceptsReturn="True"
  80.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  81.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  82.                            Name="Editor3"
  83.                            AcceptsReturn="True"
  84.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  85.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  86. <TextBox Grid.Row="4"
  87.                            Name="Editor3"
  88.                            AcceptsReturn="True"
  89.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  90.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  91.                            Name="Editor3"
  92.                            AcceptsReturn="True"
  93.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  94.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  95.                            Name="Editor3"
  96.                            AcceptsReturn="True"
  97.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  98.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  99.                            Name="Editor3"
  100.                            AcceptsReturn="True"
  101.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  102.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  103.                            Name="Editor3"
  104.                            AcceptsReturn="True"
  105.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  106.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  107. <TextBox Grid.Row="4"
  108.                            Name="Editor3"
  109.                            AcceptsReturn="True"
  110.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  111.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  112.                            Name="Editor3"
  113.                            AcceptsReturn="True"
  114.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  115.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  116.                            Name="Editor3"
  117.                            AcceptsReturn="True"
  118.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  119.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  120.                            Name="Editor3"
  121.                            AcceptsReturn="True"
  122.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  123.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  124.                            Name="Editor3"
  125.                            AcceptsReturn="True"
  126.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  127.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  128. </WrapPanel>
复制代码
垂直排列
  1. [/code][size=5]5.Binding <TextBox Grid.Row="4"
  2.                            Name="Editor3"
  3.                            AcceptsReturn="True"
  4.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  5.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />绑定[/size]
  6. [indent]数据交互核心属性,在字段定义的set语句中使用一个PropertyChanged事件,,当为Binding设置了数据源后,就会自动侦听PropertyChanged事件
  7. [/indent]WPF
  8. [code]using <TextBox Grid.Row="4"
  9.                            Name="Editor3"
  10.                            AcceptsReturn="True"
  11.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  12.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />CommunityToolkit.Mvvm
  13. <TextBox Grid.Row="4"
  14.                            Name="Editor3"
  15.                            AcceptsReturn="True"
  16.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  17.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  18.                            Name="Editor3"
  19.                            AcceptsReturn="True"
  20.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  21.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  22.                            Name="Editor3"
  23.                            AcceptsReturn="True"
  24.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  25.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  26.                            Name="Editor3"
  27.                            AcceptsReturn="True"
  28.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  29.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />
  30. private <TextBox Grid.Row="4"
  31.                            Name="Editor3"
  32.                            AcceptsReturn="True"
  33.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  34.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />string <TextBox Grid.Row="4"
  35.                            Name="Editor3"
  36.                            AcceptsReturn="True"
  37.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  38.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />_searchKeyword;
  39. public <TextBox Grid.Row="4"
  40.                            Name="Editor3"
  41.                            AcceptsReturn="True"
  42.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  43.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />string <TextBox Grid.Row="4"
  44.                            Name="Editor3"
  45.                            AcceptsReturn="True"
  46.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  47.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />SearchKeyword
  48. {
  49. <TextBox Grid.Row="4"
  50.                            Name="Editor3"
  51.                            AcceptsReturn="True"
  52.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  53.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  54.                            Name="Editor3"
  55.                            AcceptsReturn="True"
  56.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  57.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  58.                            Name="Editor3"
  59.                            AcceptsReturn="True"
  60.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  61.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  62.                            Name="Editor3"
  63.                            AcceptsReturn="True"
  64.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  65.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />get <TextBox Grid.Row="4"
  66.                            Name="Editor3"
  67.                            AcceptsReturn="True"
  68.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  69.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />=> <TextBox Grid.Row="4"
  70.                            Name="Editor3"
  71.                            AcceptsReturn="True"
  72.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  73.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />_searchKeyword;
  74. <TextBox Grid.Row="4"
  75.                            Name="Editor3"
  76.                            AcceptsReturn="True"
  77.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  78.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  79.                            Name="Editor3"
  80.                            AcceptsReturn="True"
  81.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  82.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  83.                            Name="Editor3"
  84.                            AcceptsReturn="True"
  85.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  86.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  87.                            Name="Editor3"
  88.                            AcceptsReturn="True"
  89.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  90.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />set <TextBox Grid.Row="4"
  91.                            Name="Editor3"
  92.                            AcceptsReturn="True"
  93.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  94.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />=> <TextBox Grid.Row="4"
  95.                            Name="Editor3"
  96.                            AcceptsReturn="True"
  97.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  98.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />SetProperty(ref <TextBox Grid.Row="4"
  99.                            Name="Editor3"
  100.                            AcceptsReturn="True"
  101.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  102.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />_searchKeyword, <TextBox Grid.Row="4"
  103.                            Name="Editor3"
  104.                            AcceptsReturn="True"
  105.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  106.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />value);
  107. }
复制代码
Avalonia
  1. using <TextBox Grid.Row="4"
  2.                            Name="Editor3"
  3.                            AcceptsReturn="True"
  4.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  5.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />ReactiveUI;
  6. private <TextBox Grid.Row="4"
  7.                            Name="Editor3"
  8.                            AcceptsReturn="True"
  9.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  10.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />string <TextBox Grid.Row="4"
  11.                            Name="Editor3"
  12.                            AcceptsReturn="True"
  13.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  14.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />_filePath;
  15. public <TextBox Grid.Row="4"
  16.                            Name="Editor3"
  17.                            AcceptsReturn="True"
  18.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  19.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />string <TextBox Grid.Row="4"
  20.                            Name="Editor3"
  21.                            AcceptsReturn="True"
  22.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  23.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />FilePath <TextBox Grid.Row="4"
  24.                            Name="Editor3"
  25.                            AcceptsReturn="True"
  26.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  27.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />
  28. { <TextBox Grid.Row="4"
  29.                            Name="Editor3"
  30.                            AcceptsReturn="True"
  31.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  32.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />
  33. <TextBox Grid.Row="4"
  34.                            Name="Editor3"
  35.                            AcceptsReturn="True"
  36.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  37.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  38.                            Name="Editor3"
  39.                            AcceptsReturn="True"
  40.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  41.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  42.                            Name="Editor3"
  43.                            AcceptsReturn="True"
  44.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  45.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  46.                            Name="Editor3"
  47.                            AcceptsReturn="True"
  48.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  49.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />get <TextBox Grid.Row="4"
  50.                            Name="Editor3"
  51.                            AcceptsReturn="True"
  52.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  53.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />=> <TextBox Grid.Row="4"
  54.                            Name="Editor3"
  55.                            AcceptsReturn="True"
  56.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  57.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />_filePath;
  58. <TextBox Grid.Row="4"
  59.                            Name="Editor3"
  60.                            AcceptsReturn="True"
  61.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  62.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  63.                            Name="Editor3"
  64.                            AcceptsReturn="True"
  65.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  66.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  67.                            Name="Editor3"
  68.                            AcceptsReturn="True"
  69.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  70.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  71.                            Name="Editor3"
  72.                            AcceptsReturn="True"
  73.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  74.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />set <TextBox Grid.Row="4"
  75.                            Name="Editor3"
  76.                            AcceptsReturn="True"
  77.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  78.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />=> <TextBox Grid.Row="4"
  79.                            Name="Editor3"
  80.                            AcceptsReturn="True"
  81.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  82.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />this.RaiseAndSetIfChanged(ref <TextBox Grid.Row="4"
  83.                            Name="Editor3"
  84.                            AcceptsReturn="True"
  85.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  86.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />_filePath, <TextBox Grid.Row="4"
  87.                            Name="Editor3"
  88.                            AcceptsReturn="True"
  89.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  90.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />value);
  91. }
复制代码
6.Dependency <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Property <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />依赖属性


依赖属性是一种本身没有可以没有值,能通过使用Binding从数据源获取值的属性。拥有依赖属性的对象称为“依赖对象”
特点包括:

  • 节省实例对内存的开销
  • 属性值可以通过Binding依赖在其他的对象上
7.Attached <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Property <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />附加属性


附加属性,被环境赋予的属性,作用是将属性与数据类型(宿主)解耦,让数据类型的设计更加灵活
  1.         <Grid>
  2.                 <Grid.ColumnDefinitions>
  3.                         <ColumnDefinition <TextBox Grid.Row="4"
  4.                            Name="Editor3"
  5.                            AcceptsReturn="True"
  6.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  7.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Width="10*"/>
  8.                         <ColumnDefinition <TextBox Grid.Row="4"
  9.                            Name="Editor3"
  10.                            AcceptsReturn="True"
  11.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  12.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Width="10*"/>
  13.                 </Grid.ColumnDefinitions>
  14.                 <Grid.RowDefinitions>
  15.                         <RowDefinition <TextBox Grid.Row="4"
  16.                            Name="Editor3"
  17.                            AcceptsReturn="True"
  18.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  19.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Height="1*"/>
  20.                         <RowDefinition <TextBox Grid.Row="4"
  21.                            Name="Editor3"
  22.                            AcceptsReturn="True"
  23.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  24.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Height="10*"/>
  25.                 </Grid.RowDefinitions>
  26.                 <Grid <TextBox Grid.Row="4"
  27.                            Name="Editor3"
  28.                            AcceptsReturn="True"
  29.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  30.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Grid.Row="0"
  31. <TextBox Grid.Row="4"
  32.                            Name="Editor3"
  33.                            AcceptsReturn="True"
  34.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  35.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  36.                            Name="Editor3"
  37.                            AcceptsReturn="True"
  38.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  39.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  40.                            Name="Editor3"
  41.                            AcceptsReturn="True"
  42.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  43.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  44.                            Name="Editor3"
  45.                            AcceptsReturn="True"
  46.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  47.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  48.                            Name="Editor3"
  49.                            AcceptsReturn="True"
  50.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  51.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  52.                            Name="Editor3"
  53.                            AcceptsReturn="True"
  54.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  55.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  56.                            Name="Editor3"
  57.                            AcceptsReturn="True"
  58.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  59.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  60.                            Name="Editor3"
  61.                            AcceptsReturn="True"
  62.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  63.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  64.                            Name="Editor3"
  65.                            AcceptsReturn="True"
  66.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  67.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  68.                            Name="Editor3"
  69.                            AcceptsReturn="True"
  70.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  71.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  72.                            Name="Editor3"
  73.                            AcceptsReturn="True"
  74.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  75.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  76.                            Name="Editor3"
  77.                            AcceptsReturn="True"
  78.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  79.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Grid.Column="0" <TextBox Grid.Row="4"
  80.                            Name="Editor3"
  81.                            AcceptsReturn="True"
  82.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  83.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Grid.ColumnSpan="2">
  84.                         <Grid.ColumnDefinitions>
  85.                                 <ColumnDefinition <TextBox Grid.Row="4"
  86.                            Name="Editor3"
  87.                            AcceptsReturn="True"
  88.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  89.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Width="1*"/>
  90.                                 <ColumnDefinition <TextBox Grid.Row="4"
  91.                            Name="Editor3"
  92.                            AcceptsReturn="True"
  93.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  94.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Width="9*"/>
  95.                         </Grid.ColumnDefinitions>
  96.                         <StackPanel <TextBox Grid.Row="4"
  97.                            Name="Editor3"
  98.                            AcceptsReturn="True"
  99.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  100.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Grid.Column="0" <TextBox Grid.Row="4"
  101.                            Name="Editor3"
  102.                            AcceptsReturn="True"
  103.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  104.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Orientation="Horizontal" <TextBox Grid.Row="4"
  105.                            Name="Editor3"
  106.                            AcceptsReturn="True"
  107.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  108.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />HorizontalAlignment="Center">
  109.                                 <Button <TextBox Grid.Row="4"
  110.                            Name="Editor3"
  111.                            AcceptsReturn="True"
  112.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  113.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Classes="small" <TextBox Grid.Row="4"
  114.                            Name="Editor3"
  115.                            AcceptsReturn="True"
  116.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  117.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Margin="0,0,20,0" <TextBox Grid.Row="4"
  118.                            Name="Editor3"
  119.                            AcceptsReturn="True"
  120.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  121.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Command="{Binding <TextBox Grid.Row="4"
  122.                            Name="Editor3"
  123.                            AcceptsReturn="True"
  124.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  125.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />UploadCommand}">打开</Button>
  126.                                 <Button <TextBox Grid.Row="4"
  127.                            Name="Editor3"
  128.                            AcceptsReturn="True"
  129.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  130.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Classes="small" <TextBox Grid.Row="4"
  131.                            Name="Editor3"
  132.                            AcceptsReturn="True"
  133.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  134.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Margin="0,0,20,0" <TextBox Grid.Row="4"
  135.                            Name="Editor3"
  136.                            AcceptsReturn="True"
  137.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  138.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Command="{Binding <TextBox Grid.Row="4"
  139.                            Name="Editor3"
  140.                            AcceptsReturn="True"
  141.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  142.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />SaveCommand}">保存</Button>
  143.                                 <Label <TextBox Grid.Row="4"
  144.                            Name="Editor3"
  145.                            AcceptsReturn="True"
  146.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  147.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Content="{Binding <TextBox Grid.Row="4"
  148.                            Name="Editor3"
  149.                            AcceptsReturn="True"
  150.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  151.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />FilePath}" <TextBox Grid.Row="4"
  152.                            Name="Editor3"
  153.                            AcceptsReturn="True"
  154.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  155.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Margin="0,0,20,0"/>
  156.                         </StackPanel>
  157.         </Grid>                                                 <TextBox Grid.Row="4"
  158.                            Name="Editor3"
  159.                            AcceptsReturn="True"
  160.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  161.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />
复制代码
上面 <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />TextBox <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />的Grid.Row,Grid.Column都是附加属性。
8.Route <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />和Event <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />路由事件


路由事件被激发后是沿着Visual <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Tree
传递的,只有这样,“藏”在Templete里的控件才能把消息送出来。
9.Resource <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />资源


每个WPF的界面的元素都具有一个名为Resources的属性,这个属性继承自FrameWorkElement类,其类型为ResourceDictionary,用来存储资源。
  1.         <Application.Resources>
  2.                 <ResourceDictionary>
  3.                         <ResourceDictionary.MergedDictionaries>
  4.                                 <ResourceInclude <TextBox Grid.Row="4"
  5.                            Name="Editor3"
  6.                            AcceptsReturn="True"
  7.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  8.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Source="/Assets/Lang/en-US.axaml" <TextBox Grid.Row="4"
  9.                            Name="Editor3"
  10.                            AcceptsReturn="True"
  11.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  12.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  13.                         </ResourceDictionary.MergedDictionaries>
  14.                 </ResourceDictionary>
  15.         </Application.Resources>
复制代码
在使用资源时候分为静态资源(StaticResource)和动态资源(DynamicResource)
1.StaticResource

在程序载入内存时对资源一次性使用,之后就不再去访问这个资源了
  1. <TextBox Grid.Row="4"
  2.                            Name="Editor3"
  3.                            AcceptsReturn="True"
  4.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  5.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />
复制代码
2.StaticResource

程序运行过程中仍然会去访问资源
  1. [/code][size=5]10.Template <TextBox Grid.Row="4"
  2.                            Name="Editor3"
  3.                            AcceptsReturn="True"
  4.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  5.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />模板[/size]
  6. [size=4]1.ControlTemplate <TextBox Grid.Row="4"
  7.                            Name="Editor3"
  8.                            AcceptsReturn="True"
  9.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  10.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />控制器模板[/size]
  11. [code]        <Application.Resources>
  12.                 <ResourceDictionary>
  13.                         <ResourceDictionary.MergedDictionaries>
  14.                                 <ResourceInclude <TextBox Grid.Row="4"
  15.                            Name="Editor3"
  16.                            AcceptsReturn="True"
  17.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  18.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Source="/Assets/Lang/en-US.axaml" <TextBox Grid.Row="4"
  19.                            Name="Editor3"
  20.                            AcceptsReturn="True"
  21.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  22.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  23.                         </ResourceDictionary.MergedDictionaries>
  24.                 </ResourceDictionary>
  25.         </Application.Resources>        <Application.Resources>
  26.                 <ResourceDictionary>
  27.                         <ResourceDictionary.MergedDictionaries>
  28.                                 <ResourceInclude <TextBox Grid.Row="4"
  29.                            Name="Editor3"
  30.                            AcceptsReturn="True"
  31.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  32.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Source="/Assets/Lang/en-US.axaml" <TextBox Grid.Row="4"
  33.                            Name="Editor3"
  34.                            AcceptsReturn="True"
  35.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  36.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  37.                         </ResourceDictionary.MergedDictionaries>
  38.                 </ResourceDictionary>
  39.         </Application.Resources>        <Application.Resources>
  40.                 <ResourceDictionary>
  41.                         <ResourceDictionary.MergedDictionaries>
  42.                                 <ResourceInclude <TextBox Grid.Row="4"
  43.                            Name="Editor3"
  44.                            AcceptsReturn="True"
  45.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  46.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Source="/Assets/Lang/en-US.axaml" <TextBox Grid.Row="4"
  47.                            Name="Editor3"
  48.                            AcceptsReturn="True"
  49.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  50.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  51.                         </ResourceDictionary.MergedDictionaries>
  52.                 </ResourceDictionary>
  53.         </Application.Resources>        <Application.Resources>
  54.                 <ResourceDictionary>
  55.                         <ResourceDictionary.MergedDictionaries>
  56.                                 <ResourceInclude <TextBox Grid.Row="4"
  57.                            Name="Editor3"
  58.                            AcceptsReturn="True"
  59.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  60.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Source="/Assets/Lang/en-US.axaml" <TextBox Grid.Row="4"
  61.                            Name="Editor3"
  62.                            AcceptsReturn="True"
  63.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  64.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  65.                         </ResourceDictionary.MergedDictionaries>
  66.                 </ResourceDictionary>
  67.         </Application.Resources>        <Application.Resources>
  68.                 <ResourceDictionary>
  69.                         <ResourceDictionary.MergedDictionaries>
  70.                                 <ResourceInclude <TextBox Grid.Row="4"
  71.                            Name="Editor3"
  72.                            AcceptsReturn="True"
  73.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  74.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Source="/Assets/Lang/en-US.axaml" <TextBox Grid.Row="4"
  75.                            Name="Editor3"
  76.                            AcceptsReturn="True"
  77.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  78.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  79.                         </ResourceDictionary.MergedDictionaries>
  80.                 </ResourceDictionary>
  81.         </Application.Resources>        <Application.Resources>
  82.                 <ResourceDictionary>
  83.                         <ResourceDictionary.MergedDictionaries>
  84.                                 <ResourceInclude <TextBox Grid.Row="4"
  85.                            Name="Editor3"
  86.                            AcceptsReturn="True"
  87.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  88.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Source="/Assets/Lang/en-US.axaml" <TextBox Grid.Row="4"
  89.                            Name="Editor3"
  90.                            AcceptsReturn="True"
  91.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  92.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  93.                         </ResourceDictionary.MergedDictionaries>
  94.                 </ResourceDictionary>
  95.         </Application.Resources>        <Application.Resources>
  96.                 <ResourceDictionary>
  97.                         <ResourceDictionary.MergedDictionaries>
  98.                                 <ResourceInclude <TextBox Grid.Row="4"
  99.                            Name="Editor3"
  100.                            AcceptsReturn="True"
  101.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  102.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Source="/Assets/Lang/en-US.axaml" <TextBox Grid.Row="4"
  103.                            Name="Editor3"
  104.                            AcceptsReturn="True"
  105.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  106.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  107.                         </ResourceDictionary.MergedDictionaries>
  108.                 </ResourceDictionary>
  109.         </Application.Resources>        <Application.Resources>
  110.                 <ResourceDictionary>
  111.                         <ResourceDictionary.MergedDictionaries>
  112.                                 <ResourceInclude <TextBox Grid.Row="4"
  113.                            Name="Editor3"
  114.                            AcceptsReturn="True"
  115.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  116.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Source="/Assets/Lang/en-US.axaml" <TextBox Grid.Row="4"
  117.                            Name="Editor3"
  118.                            AcceptsReturn="True"
  119.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  120.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  121.                         </ResourceDictionary.MergedDictionaries>
  122.                 </ResourceDictionary>
  123.         </Application.Resources>        <Application.Resources>
  124.                 <ResourceDictionary>
  125.                         <ResourceDictionary.MergedDictionaries>
  126.                                 <ResourceInclude <TextBox Grid.Row="4"
  127.                            Name="Editor3"
  128.                            AcceptsReturn="True"
  129.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  130.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Source="/Assets/Lang/en-US.axaml" <TextBox Grid.Row="4"
  131.                            Name="Editor3"
  132.                            AcceptsReturn="True"
  133.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  134.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  135.                         </ResourceDictionary.MergedDictionaries>
  136.                 </ResourceDictionary>
  137.         </Application.Resources>                                                       
复制代码
2.DataTemplate <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />数据模板

  1. <TextBox Grid.Row="4"
  2.                            Name="Editor3"
  3.                            AcceptsReturn="True"
  4.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  5.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  6.                            Name="Editor3"
  7.                            AcceptsReturn="True"
  8.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  9.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  10.                            Name="Editor3"
  11.                            AcceptsReturn="True"
  12.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  13.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  14.                            Name="Editor3"
  15.                            AcceptsReturn="True"
  16.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  17.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />
复制代码
11.Style <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />风格


设计外观和行为动作
1.Setter <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />设置器


Setter <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />类的Property属性用来指明你想为目标的哪个属性赋值,Value属性则是你提供的属性值
  1. [/code]上面的例子是针对 <TextBox Grid.Row="4"
  2.                            Name="Editor3"
  3.                            AcceptsReturn="True"
  4.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  5.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />[b]Grid <TextBox Grid.Row="4"
  6.                            Name="Editor3"
  7.                            AcceptsReturn="True"
  8.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  9.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Button[/b]的[b]Style[/b],使用了若干个[b]Setter[/b] <TextBox Grid.Row="4"
  10.                            Name="Editor3"
  11.                            AcceptsReturn="True"
  12.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  13.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  14.                            Name="Editor3"
  15.                            AcceptsReturn="True"
  16.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  17.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />来设置 <TextBox Grid.Row="4"
  18.                            Name="Editor3"
  19.                            AcceptsReturn="True"
  20.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  21.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Grid <TextBox Grid.Row="4"
  22.                            Name="Editor3"
  23.                            AcceptsReturn="True"
  24.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  25.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />中的Button的一些属性,这样,在程序中, <TextBox Grid.Row="4"
  26.                            Name="Editor3"
  27.                            AcceptsReturn="True"
  28.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  29.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />Grid <TextBox Grid.Row="4"
  30.                            Name="Editor3"
  31.                            AcceptsReturn="True"
  32.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  33.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />中的Button就会具有统一的风格。
  34. [size=4]2.Trigger <TextBox Grid.Row="4"
  35.                            Name="Editor3"
  36.                            AcceptsReturn="True"
  37.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  38.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />触发器[/size]
  39. [indent]当条件满足时会触发一个行为。
  40. [/indent][code]<WrapPanel>
  41. <TextBox Grid.Row="4"
  42.                            Name="Editor3"
  43.                            AcceptsReturn="True"
  44.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  45.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  46.                            Name="Editor3"
  47.                            AcceptsReturn="True"
  48.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  49.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  50.                            Name="Editor3"
  51.                            AcceptsReturn="True"
  52.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  53.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  54.                            Name="Editor3"
  55.                            AcceptsReturn="True"
  56.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  57.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  58.                            Name="Editor3"
  59.                            AcceptsReturn="True"
  60.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  61.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  62. <TextBox Grid.Row="4"
  63.                            Name="Editor3"
  64.                            AcceptsReturn="True"
  65.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  66.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  67.                            Name="Editor3"
  68.                            AcceptsReturn="True"
  69.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  70.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  71.                            Name="Editor3"
  72.                            AcceptsReturn="True"
  73.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  74.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  75.                            Name="Editor3"
  76.                            AcceptsReturn="True"
  77.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  78.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  79.                            Name="Editor3"
  80.                            AcceptsReturn="True"
  81.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  82.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  83. <TextBox Grid.Row="4"
  84.                            Name="Editor3"
  85.                            AcceptsReturn="True"
  86.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  87.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  88.                            Name="Editor3"
  89.                            AcceptsReturn="True"
  90.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  91.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  92.                            Name="Editor3"
  93.                            AcceptsReturn="True"
  94.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  95.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  96.                            Name="Editor3"
  97.                            AcceptsReturn="True"
  98.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  99.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  100.                            Name="Editor3"
  101.                            AcceptsReturn="True"
  102.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  103.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  104. <TextBox Grid.Row="4"
  105.                            Name="Editor3"
  106.                            AcceptsReturn="True"
  107.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  108.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  109.                            Name="Editor3"
  110.                            AcceptsReturn="True"
  111.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  112.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  113.                            Name="Editor3"
  114.                            AcceptsReturn="True"
  115.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  116.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  117.                            Name="Editor3"
  118.                            AcceptsReturn="True"
  119.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  120.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  121.                            Name="Editor3"
  122.                            AcceptsReturn="True"
  123.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  124.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  125. <TextBox Grid.Row="4"
  126.                            Name="Editor3"
  127.                            AcceptsReturn="True"
  128.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  129.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  130.                            Name="Editor3"
  131.                            AcceptsReturn="True"
  132.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  133.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  134.                            Name="Editor3"
  135.                            AcceptsReturn="True"
  136.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  137.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  138.                            Name="Editor3"
  139.                            AcceptsReturn="True"
  140.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  141.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  142.                            Name="Editor3"
  143.                            AcceptsReturn="True"
  144.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  145.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  146. <TextBox Grid.Row="4"
  147.                            Name="Editor3"
  148.                            AcceptsReturn="True"
  149.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  150.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  151.                            Name="Editor3"
  152.                            AcceptsReturn="True"
  153.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  154.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  155.                            Name="Editor3"
  156.                            AcceptsReturn="True"
  157.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  158.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  159.                            Name="Editor3"
  160.                            AcceptsReturn="True"
  161.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  162.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /><Button <TextBox Grid.Row="4"
  163.                            Name="Editor3"
  164.                            AcceptsReturn="True"
  165.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  166.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />/>
  167. </WrapPanel> <TextBox Grid.Row="4"
  168.                            Name="Editor3"
  169.                            AcceptsReturn="True"
  170.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  171.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  172.                            Name="Editor3"
  173.                            AcceptsReturn="True"
  174.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  175.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  176.                            Name="Editor3"
  177.                            AcceptsReturn="True"
  178.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  179.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  180.                            Name="Editor3"
  181.                            AcceptsReturn="True"
  182.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  183.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  184.                            Name="Editor3"
  185.                            AcceptsReturn="True"
  186.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  187.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  188.                            Name="Editor3"
  189.                            AcceptsReturn="True"
  190.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  191.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  192.                            Name="Editor3"
  193.                            AcceptsReturn="True"
  194.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  195.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  196.                            Name="Editor3"
  197.                            AcceptsReturn="True"
  198.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  199.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  200.                            Name="Editor3"
  201.                            AcceptsReturn="True"
  202.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  203.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  204.                            Name="Editor3"
  205.                            AcceptsReturn="True"
  206.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  207.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  208.                            Name="Editor3"
  209.                            AcceptsReturn="True"
  210.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  211.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" /> <TextBox Grid.Row="4"
  212.                            Name="Editor3"
  213.                            AcceptsReturn="True"
  214.                            Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
  215.                            FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />
复制代码
上面的例子,是当鼠标移动在上面时,字体的颜色变成蓝色。
阅读如遇样式问题,请前往个人博客浏览: <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />https://www.raokun.top


拥抱ChatGPT:https://ai.terramours.site

开源项目地址:https://github.com/firstsaofan/TerraMours


来源:https://www.cnblogs.com/raok/archive/2023/07/02/17521172.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 <TextBox Grid.Row="4"
                           Name="Editor3"
                           AcceptsReturn="True"
                           Text="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.Editor3Text,Mode=TwoWay}"
                           FontSize="{Binding Source={StaticResource VMLocator}, Path=EditorViewModel.EditorCommonFontSize}" />我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具