在XAML的事件触发器中设置依赖属性值?

时间:2015-12-30 06:04:30

标签: c# wpf xaml wpf-controls dependency-properties

我正在尝试在事件触发器中设置其中一个依赖项属性的值。无法在样式中实现此目的。

代码中的下面提到的样式是针对我的DataGridCell的,所以当DataGridCell上发生一些Drop事件时,我想将属性值设置为 True for depedency属性“dragdrop:DragDropHelper.HighlightColumn ”

我需要一些像下面这样的东西。

<Style x:Key="GridCellStyle" TargetType="DataGridCell">
    <Setter Property="FontFamily" Value="Verdana"></Setter>                    
    <Style.Triggers>
        <Trigger Property="IsSelected" Value="True">
            <Setter Property="Background" Value="Beige"></Setter>
            <Setter Property="Foreground" Value="Black"></Setter>
        </Trigger>
        <EventTrigger RoutedEvent="Drop">
            <Setter Property="dragdrop:DragDropHelper.HighlightColumn" Value="True"></Setter>
        </EventTrigger>
    </Style.Triggers>
</Style>

1 个答案:

答案 0 :(得分:1)

您无法将Setter添加到EventTrigger。使用适当的BeginStoryboard操作,如下所示:

<EventTrigger RoutedEvent="Drop">
    <BeginStoryboard>
        <Storyboard>
            <BooleanAnimationUsingKeyFrames
                Storyboard.TargetProperty="(dragdrop:DragDropHelper.HighlightColumn)">
                <DiscreteBooleanKeyFrame KeyTime="0:0:0" Value="True"/>
            </BooleanAnimationUsingKeyFrames>
        </Storyboard>
    </BeginStoryboard>
</EventTrigger>