使用 expression blend 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>
谢谢
洛伦佐
最佳答案
以下是如何使用 GUI 执行此操作的示例。
考虑这个窗口:
我的示例中的目标是在 Stroke
属性更改为 Rectangle
时使 Checkbox.IsChecked
的 True
变为蓝色。
首先,我们必须从 ChangePropertyAction
> Assets
添加一个 Behaviors
。
将其拖放到窗口/模板/任何东西上。我把它放到窗口中:
现在,如果您选择它,您可以在 Trigger
中指定 Properties
。
我将 TriggerType
设置为 DataTrigger
,将 Binding
设置为 Checkbox.IsChecked
并将 Trigger
所需的值设置为 True
。
接下来,我指定当 Value
触发时应该更改的 Trigger
。
我将 Target
设置为 Rectangle
,将 Stroke
指定为 PropertyName
并设置当 Value
触发为蓝色时该属性应获得的 Trigger
。
如果我现在启动应用程序,这是我检查 CheckBox
时的结果:
关于wpf - 在 Expression Blend 2013 中添加 DATATRIGGER 的可视化方式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21574626/