C# WPF使柱滑入位置XAML
我有一个wPF应用程序。我有一个列,它的宽度在加载时设置为零。但它绑定到一个属性&当该值更改为某个值时,宽度将更改为2*。这一切都很好 我想要的是添加一个动画,使列滑到网格上。它是最右边的一列,因此它将从屏幕的右侧滑动到左侧。阅读周围的内容听起来好像这不容易在XAML中完成 编辑 以下是我到目前为止所做的尝试。问题是“System.Windows.Media.Animation.DoubleAnimation”动画对象不能用于设置属性“Width”的动画,因为它的类型不兼容System.Windows.GridLength”。有没有一个价值转换的东西C# WPF使柱滑入位置XAML,c#,wpf,xaml,C#,Wpf,Xaml,我有一个wPF应用程序。我有一个列,它的宽度在加载时设置为零。但它绑定到一个属性&当该值更改为某个值时,宽度将更改为2*。这一切都很好 我想要的是添加一个动画,使列滑到网格上。它是最右边的一列,因此它将从屏幕的右侧滑动到左侧。阅读周围的内容听起来好像这不容易在XAML中完成 编辑 以下是我到目前为止所做的尝试。问题是“System.Windows.Media.Animation.DoubleAnimation”动画对象不能用于设置属性“Width”的动画,因为它的类型不兼容System.Wind
<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.询问代码的问题必须表明对所解决问题的最低理解。包括尝试的解决方案,为什么它们不起作用,以及预期的结果。我理解你的观点。我一直在网上阅读,试图找到解决办法。然而,似乎不可能阅读其他人的帖子。我最初的几次尝试都是垃圾,我认为这不会增加任何价值。上面编辑的代码就是我目前所在的位置。