c# - WPF 使列滑入位置 XAML

标签 c# wpf xaml

我有一个 wPF 应用程序。我有一列在加载时将其宽度设置为零。它绑定(bind)到一个属性,当这个值更改为某个值时,宽度更改为 2*。这一切都很好。

我想要的是添加一个动画,使列滑到网格上。它是最右边的列,因此它会从屏幕右侧滑动到左侧。仔细阅读它听起来好像这在 XAML 中不容易完成?

编辑

这是我到目前为止尝试过的方法。问题是“System.Windows.Media.Animation.DoubleAnimation”动画对象不能用于动画属性“Width”,因为它是不兼容的类型 System.Windows.GridLength”。是否存在值(value)转换器?

<Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition>                            
            <ColumnDefinition.Style>
                <Style TargetType="{x:Type ColumnDefinition}">
                    <Setter Property="Width" Value="10"/>
                    <Style.Triggers>                            
                        <DataTrigger Binding="{Binding OrderSelected.Name}" Value="Mark">
                            <Setter Property="Width" Value="2*"/>
                            <DataTrigger.EnterActions>
                                <BeginStoryboard>
                                    <Storyboard>
                                        <DoubleAnimation
                                            Storyboard.TargetProperty="Width"
                                            Duration="0:0:3"
                                            AutoReverse="True"/>
                                    </Storyboard>
                                </BeginStoryboard>
                            </DataTrigger.EnterActions>
                        </DataTrigger>                                  
                    </Style.Triggers>
                </Style>
            </ColumnDefinition.Style>
        </ColumnDefinition>
    </Grid.ColumnDefinitions>

最佳答案

ColumnDefinitionWidth 具有 GridLength 类型,因此不能使用 DoubleAnimation 对其进行动画处理。唯一的解决方案是定义一个自定义动画类。

我发现的第一个谷歌结果是:http://www.codeproject.com/Articles/18379/WPF-Tutorial-Part-2-Writing-a-custom-animation-cla本文给出了 Button 的示例,但代码也应该适用于 ColumnDefinition。

关于c# - WPF 使列滑入位置 XAML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20517225/

相关文章:

c# - 无法使用 asp.net mvc 3 获得事件模糊

c# - 带有MVVM的WPF建议文本框

c# - WPF XAML 限定属性值导致异常

c# - 将窗口按钮置于前面

.net - 如何创建 ListView 的 SelectedItem 属性的双向链接?

c# - 为什么 foreach 在与 itextsharp 一起使用时会导致错误

c# - 如何将图像放在 ToolStripMenuItem(或类似控件)的文本旁边?

c# - 用于在 SharePoint 服务器上上传文件的 Windows 服务。一些问题

c# - WPF 多个枚举标志到转换器参数?

c# - 访问嵌套的静态常量