Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF使柱滑入位置XAML_C#_Wpf_Xaml - Fatal编程技术网

C# WPF使柱滑入位置XAML

C# WPF使柱滑入位置XAML,c#,wpf,xaml,C#,Wpf,Xaml,我有一个wPF应用程序。我有一个列,它的宽度在加载时设置为零。但它绑定到一个属性&当该值更改为某个值时,宽度将更改为2*。这一切都很好 我想要的是添加一个动画,使列滑到网格上。它是最右边的一列,因此它将从屏幕的右侧滑动到左侧。阅读周围的内容听起来好像这不容易在XAML中完成 编辑 以下是我到目前为止所做的尝试。问题是“System.Windows.Media.Animation.DoubleAnimation”动画对象不能用于设置属性“Width”的动画,因为它的类型不兼容System.Wind

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

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

编辑

以下是我到目前为止所做的尝试。问题是“System.Windows.Media.Animation.DoubleAnimation”动画对象不能用于设置属性“Width”的动画,因为它的类型不兼容System.Windows.GridLength”。有没有一个价值转换的东西

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


列定义的
宽度
具有GridLength类型,因此不能使用DoubleAnimation设置动画。唯一的解决方案是定义自定义动画类


我在Google上找到的第一个结果是:本文给出了一个按钮的示例,但代码也应该适用于ColumnDefinition。

听起来像是为了让生活更轻松。你应该做你想做的事,不要那么大惊小怪。希望这有帮助

老兄。。。你得先试一下。。。你不能只是来到这个网站,说这是我希望你们为我做的,因为我做不到。来自StackOverflow:3.询问代码的问题必须表明对所解决问题的最低理解。包括尝试的解决方案,为什么它们不起作用,以及预期的结果。我理解你的观点。我一直在网上阅读,试图找到解决办法。然而,似乎不可能阅读其他人的帖子。我最初的几次尝试都是垃圾,我认为这不会增加任何价值。上面编辑的代码就是我目前所在的位置。