C# 如何在WPF中的情节提要动画中将宽度值设置为百分比
我想用故事板做一个抽屉。 基本栅格中有2个子栅格。 一个是“MenuGrid”,另一个是“ContentGrid” 所以我写了一个这样的故事板(这是一个调整“MenuGrid”宽度的故事板):C# 如何在WPF中的情节提要动画中将宽度值设置为百分比,c#,wpf,xaml,C#,Wpf,Xaml,我想用故事板做一个抽屉。 基本栅格中有2个子栅格。 一个是“MenuGrid”,另一个是“ContentGrid” 所以我写了一个这样的故事板(这是一个调整“MenuGrid”宽度的故事板): 每次我按某个按钮,它都工作得很好。 但是,当MenuGrid的宽度减小时,我希望ContentGrid的宽度也增大 在EasingDoubleKeyFrame KeyTime=“0”Value=“300”中,是否有方法将“值”表示为百分比或比率,而不是int值?只需设置第一列定义Width=“Aut
每次我按某个按钮,它都工作得很好。
但是,当MenuGrid的宽度减小时,我希望ContentGrid的宽度也增大
在EasingDoubleKeyFrame KeyTime=“0”Value=“300”中,是否有方法将“值”表示为百分比或比率,而不是int值?只需设置第一列定义
Width=“Auto”
,因为您正在设置它将跟随的子列宽度的动画。
<Window.Resources>
<Storyboard x:Key="MenuOpen">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Width"
Storyboard.TargetName="MenuGrid">
<EasingDoubleKeyFrame KeyTime="0" Value="60"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="300"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="MenuClose" >
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Width"
Storyboard.TargetName="MenuGrid">
<EasingDoubleKeyFrame KeyTime="0" Value="300"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="60"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</Window.Resources>
<Window.Triggers>
<EventTrigger RoutedEvent="ButtonBase.Click" SourceName="ButtonOpenMenu">
<BeginStoryboard Storyboard="{StaticResource MenuOpen}"/>
</EventTrigger>
<EventTrigger RoutedEvent="ButtonBase.Click" SourceName="ButtonCloseMenu">
<BeginStoryboard Storyboard="{StaticResource MenuClose}"/>
</EventTrigger>
</Window.Triggers>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid Width="300" x:Name="MenuGrid" Grid.Column="0">
<StackPanel>
<Button x:Name="ButtonCloseMenu" Width="60" Height="60" VerticalAlignment="Top" HorizontalAlignment="Right">
</Button>
<Button x:Name="ButtonOpenMenu" Width="60" Height="60" VerticalAlignment="Top" HorizontalAlignment="left" >
</Button>
</StackPanel>
</Grid>
<Grid x:Name="ContentGrid" Grid.Column="1">
</Grid>
</Grid>