内容简介:本文介绍不那么常见的 XAML 相关的知识。当你用设计器修改元素的 Margin 时,你会看到用逗号分隔的
本文介绍不那么常见的 XAML 相关的知识。
Thickness 可以用空格分隔
当你用设计器修改元素的 Margin 时,你会看到用逗号分隔的 Thickness
属性。使用设计器或者属性面板时,使用逗号是默认的行为。
不过你有试过,使用空格分隔吗?
<Button Margin="10 12 0 0" />
使用逗号( ,
)设置多值枚举
有一些枚举标记了 [Flags]
特性,这样的枚举可以通过位运算设置多个值。
[Flags] enum NonClientFrameEdges { // 省略枚举内的值。 }
那么在 XAML 里面如何设置多个枚举值呢?使用逗号( ,
)即可,如下面的例子:
<WindowChrome NonClientFrameEdges="Left,Bottom,Right" GlassFrameThickness="0 64 0 0" UseAeroCaptionButtons="False" />
使用加号( +
)设置多值枚举
使用逗号( ,
) 设置多值枚举是通用的写法,但是在 WPF/UWP 中设置按键/键盘快捷键的时候又有加号( +
)的写法。如下面的例子:
<KeyBinding Command="{x:Static WalterlvCommands.Foo}" Modifiers="Control+Shift" Key="W" />
这里的 Modifiers
属性的类型是 ModifierKeys
,实际上是因为这个类型特殊地编写了一个 TypeConverter
来转换字符串,所以键盘快捷键多值枚举使用的位或运算用的是加号( +
)。
设置 Url 型的 XAML 命名空间(xmlns)
WPF/UWP 中原生控件的 XAML 命名空间是 http://schemas.microsoft.com/winfx/2006/xaml/presentation ,与 XAML 编译器相关的 XAML 命名空间是 http://schemas.microsoft.com/winfx/2006/xaml ,还有其他 Url 形式的 XAML 命名空间。
只需要在库中写如下特性(Attribute)即可将命名空间指定为一个 url:
using System.Windows.Markup; [assembly: XmlnsDefinition("http://walterlv.github.io/demo", "Walterlv.NewCsprojDemo")]
详情请阅读博客:
此写法要生效,定义的组件与使用的组件不能在同一程序集。
设置默认的 XAML 命名空间前缀
WPF/UWP XAML 编译器的命名空间前缀是 x
。如果你写了自己的控件,希望给控件指定一个默认的命名空间前缀,那么可以通过在库中写如下特性(Attribute)实现:
using System.Windows.Markup; [assembly: XmlnsPrefix("http://walterlv.github.io/demo", "w")]
这样,当 XAML 设计器帮助你自动添加命名空间时,将会使用 w
前缀。虽然实际上你也能随便改。
详情请阅读博客:
此写法要生效,定义的组件与使用的组件不能在同一程序集。
让你做的控件库不需要 XAML 命名空间前缀
自己写了一个 DemoPage
,要在 XAML 中使用,一般需要添加命名空间前缀才可以。但是也可以不写:
<UserControl x:Class="HuyaHearhira.UserControl1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid> <DemoPage /> </Grid> </UserControl>
方法是在库中定义命名空间前缀为 http://schemas.microsoft.com/winfx/2006/xaml/presentation 。
using System.Windows.Markup; [assembly: XmlnsDefinition("http://schemas.microsoft.com/winfx/2006/xaml/presentation", "Walterlv.NewCsprojDemo")]
此写法要生效,定义的组件与使用的组件不能在同一程序集。
以上所述就是小编给大家介绍的《XAML 很少人知道的科技》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- WPF 很少人知道的科技
- 科技部部长王志刚:中国2050年要成为世界科技强国
- 变身吸引程序员和科技公司磁石 揭示纽约演变为科技城市秘诀
- “热璞科技”完成数千万人民币A轮 天津泰达科技投资领投
- 大型科技团队的管理
- “原谅宝”:“科技向善”的反面
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
注意力经济: 如何把大众的注意力变成生意
吴修铭 / 中信出版集团股份有限公司 / 2018-4-1 / 69
编辑推荐 这本书由万维钢作序,并在《得到》日课中多次推荐!中文版未上市之前,中文前沿媒体就在力推这本书!关于注意力争夺战的历史和现在,作者给了权威的梳理和定位! 百年来,在争夺注意力的战场上,媒体、广告、商人、企业和大众成为博弈的主角。商人是如何在注意力争夺战中获利的?媒体是如何在改变报道形式的?广告是如何进化的?以及,营销是如何变得随处可见、无孔不入的呢?这本书讲述了令商人或企业从吸......一起来看看 《注意力经济: 如何把大众的注意力变成生意》 这本书的介绍吧!
JS 压缩/解压工具
在线压缩/解压 JS 代码
正则表达式在线测试
正则表达式在线测试