在 Expression Blend 2013 中添加 DATATRIGGER 的可视化方式
Posted
技术标签:
【中文标题】在 Expression Blend 2013 中添加 DATATRIGGER 的可视化方式【英文标题】:Visual way to add DATATRIGGER in Expression Blend 2013 【发布时间】:2014-02-05 10:28:28 【问题描述】:使用表达式混合 2013 将数据触发器附加到 UI 元素的正确过程是什么?
如果我直接在 xaml 中编写 datatrigger 效果很好,但我想知道是否有“视觉方式”来做到这一点。
例如,创建一个 listboxitem 样式我正在做这样的事情:
<DataTemplate x:Key="BoundingBoxTemplate" DataType="x:Type is:BoundingBoxViewModel" >
<DataTemplate.Triggers>
<DataTrigger Binding="Binding IsBorderVisible" Value="True">
<Setter TargetName="InsideRectangle" Property="Stroke" Value="Blue" />
</DataTrigger>
</DataTemplate.Triggers>
<Grid>
<Rectangle x:Name="InsideRectangle"
Width="Binding Width"
Height="Binding Height"
Fill="Black"
SnapsToDevicePixels="True" />
</Grid>
</DataTemplate>
谢谢 洛伦佐
【问题讨论】:
【参考方案1】:这是一个使用 GUI 的示例。
考虑一下这个窗口:
我的示例中的目标是在 Checkbox.IsChecked
属性更改为 True
时使 Rectangle
的 Stroke
变为蓝色。
首先,我们必须从Assets
添加一个ChangePropertyAction
> Behaviors
。
将其拖放到窗口/模板/任何东西上。我把它放到窗口里:
现在,如果您选择它,您可以在Properties
中指定Trigger
。
我将TriggerType
设置为DataTrigger
,将Binding
设置为Checkbox.IsChecked
,并将Trigger
所需的值设置为True
。
接下来,我指定在Trigger
触发时应更改的Value
。
我将Target
设置为Rectangle
,将Stroke
指定为PropertyName
并将Value
设置为当Trigger
触发为蓝色时应获取此属性。
如果我现在启动应用程序,这是我检查CheckBox
时的结果:
【讨论】:
以上是关于在 Expression Blend 2013 中添加 DATATRIGGER 的可视化方式的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Expression Blend 中将控件类型从按钮更改为切换按钮?
Windows Phone 8 和 Microsoft Expression Blend 4
WPF和Expression Blend开发实例:模拟QQ登陆界面打开和关闭特效
零元学Expression Blend 4 - Chapter 30 8个Expression Blend4的快捷