使用 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.IsCheckedTrue 变为蓝色。

首先,我们必须从 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/

10-16 09:06