设计时&运行时
设计时&运行时
介绍
一个应用程序经常在运行时看起来很棒,但是当你在设计器打开时(像是VS或者Blend)体验就十分不同。原因是设计时:
- 用户控件没有嵌入到父视图中
宽度和高度没有被设置 - 根元素的构造函数没有被调用
根元素被设计器替换
ViewModel没有被创建 - 控件行为差别
没有鼠标和键盘事件
加载的设计时扩展
这是另一种麻烦,特别是如果你想要编辑数据模板或者是布局控件。
设计时特性
为了改善设计时体验。微软提供了专门的设计时特性,可以被添加到任意一个WPF元素,并且作为设计工具的提示。
设计时特性在一个特别的命名空间被定义,通过被映射为d前缀。为了告诉XAML解析器不要在运行时解析这些属性。兼容性标记被映射为mc,使用mc:Ignrable="d"指令时,d命名空间被排除。
<Window
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
/>
设计高度和设计宽度
d:DesignHeight 和 d:DesignWidth 为元素在设计时设置一个固定高度和宽度
<UserControl
xmlns="http://schemas.microsoft.com/..."
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
d:DesignWidth="640" d:DesignWidth="480">
<UserControl>
布局覆盖
如果一个属性在运行时被设置为固定值,但是你想要在设计时覆盖它,你可以使用 d:LayoutOverrides 特性。可以列出所有在设计时应该被忽略的特性,使用逗号分隔。
<Border Height="250" Width="160" d:LayoutOverrides="Width,Height">
<Border>

浙公网安备 33010602011771号