【问题标题】:WPF - Animating object lower/higher in visual treeWPF - 在视觉树中动画对象较低/较高
【发布时间】:2010-03-08 18:09:44
【问题描述】:

我有以下问题。 我为 ContentControl 创建了 Style,它可以移动/拖动特定项目。 这是在控制鼠标向下/移动/向上事件的 MoveControl (: Control) 的帮助下创建的。在这个类中定义了 DependencyProperty IsDragging 属性,我想在它改变状态时使用它来淡入/淡出项目。

我的样式的 Xaml 文件看起来像这样。

<Style x:Key="ItemStyle" TargetType="ContentControl">
   <!-- ... -->
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="ContentControl" x:Name="ctrl">
                <Grid DataContext="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=.}">

                    <s:MoveControl Cursor="SizeAll" Template="{StaticResource MoveThumbTemplate}" x:Name="moveThumb"/>

                </Grid>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    <!-- ... -->
    </Setter>
</Style>

所以,当 MoveControl.IsDragging 设置为 true/false 时,我想创建将在 ContentControl 上以 ItemStyle 样式完成的动画。

感谢您的帮助。

【问题讨论】:

    标签: wpf


    【解决方案1】:

    我想通了。 解决方案是使用 SourceName 属性并将其链接到使用依赖属性的对象。问题是默认情况下“this”对象引用元素的 DataContext 值。 如果将 SourceName 属性设置为非 null 值,则数据绑定操作将把该值视为推送数据的位置和从中提取数据的位置

                        <ControlTemplate.Triggers>
                        <Trigger SourceName="moveThumb" Property="IsDragging" Value="true" >
                            <Trigger.EnterActions>
                                <BeginStoryboard>
                                    <Storyboard>
                                        <DoubleAnimation Storyboard.TargetProperty="Opacity" 
                             From="1.0" To="0.3" Duration="0:0:0.2"/>
                                    </Storyboard>
                                </BeginStoryboard>
                            </Trigger.EnterActions>
                        </Trigger>
    
                    </ControlTemplate.Triggers>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-05
      • 1970-01-01
      • 2021-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多