【问题标题】:Visual way to add DATATRIGGER in Expression Blend 2013在 Expression Blend 2013 中添加 DATATRIGGER 的可视化方式
【发布时间】: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>

谢谢 洛伦佐

【问题讨论】:

    标签: wpf xaml expression-blend blend datatrigger


    【解决方案1】:

    这是一个使用 GUI 的示例。

    考虑一下这个窗口:

    我的示例中的目标是在 Checkbox.IsChecked 属性更改为 True 时使 RectangleStroke 变为蓝色。

    首先,我们必须从Assets 添加一个ChangePropertyAction > Behaviors

    将其拖放到窗口/模板/任何东西上。我把它放到窗口里:

    现在,如果您选择它,您可以在Properties 中指定Trigger

    我将TriggerType 设置为DataTrigger,将Binding 设置为Checkbox.IsChecked,并将Trigger 所需的值设置为True

    接下来,我指定在Trigger 触发时应更改的Value

    我将Target 设置为Rectangle,将Stroke 指定为PropertyName 并将Value 设置为当Trigger 触发为蓝色时应获取此属性。

    如果我现在启动应用程序,这是我检查CheckBox 时的结果:

    【讨论】:

      猜你喜欢
      • 2014-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多