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

本文关键字:依赖 属性 设置 XAML 事件 触发器 | 更新日期: 2023-09-27 18:28:31

我正在尝试设置事件触发器中某个依赖属性的值。无法在Styles中实现此功能。

下面提到的代码中的样式适用于我的DataGridCell,因此当DataGridCell上发生某些Drop事件时,我希望将depedency属性"dragdrop:DragDropHelper.HighlightColumn"的属性值设置为True

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

<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>

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

不能将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>