在Expression Blend 2013中添加DATATRIGGER的可视方式

时间:2014-02-05 10:28:28

标签: wpf xaml expression-blend blend datatrigger

使用表达式混合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 个答案:

答案 0 :(得分:5)

以下是使用GUI进行操作的示例。

考虑此窗口:

我的示例中的目标是在Stroke属性更改为Rectangle时将Checkbox.IsChecked设为蓝色True

首先,我们必须从ChangePropertyAction&gt;添加AssetsBehaviors

将其拖放到窗口/模板/任何内容上。我把它放到窗口:

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

我将TriggerType设置为DataTrigger,将Binding设置为Checkbox.IsChecked,将Trigger设置为True

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

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

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

enter image description here