使用表达式混合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>
谢谢 洛伦佐
答案 0 :(得分:5)
以下是使用GUI进行操作的示例。
考虑此窗口:
我的示例中的目标是在Stroke
属性更改为Rectangle
时将Checkbox.IsChecked
设为蓝色True
。
首先,我们必须从ChangePropertyAction
&gt;添加Assets
。 Behaviors
。
将其拖放到窗口/模板/任何内容上。我把它放到窗口:
现在,如果您选择它,则可以在Trigger
中指定Properties
。
我将TriggerType
设置为DataTrigger
,将Binding
设置为Checkbox.IsChecked
,将Trigger
设置为True
。
接下来,我指定Value
触发时应更改的Trigger
。
我将Target
设置为Rectangle
,将Stroke
指定为PropertyName
并设置Value
此属性应在Trigger
时获取火到蓝色。
如果我现在启动应用程序,这是检查CheckBox
时的结果: