كيفية منعك المنفصلة Gridlength من "السيارات" إلى "*"؟

StackOverflow https://stackoverflow.com/questions/2239299

سؤال

أحتاج إلى تحريك هذه الخاصية باستخدام Storyboardوبعد هل يكتب الرسوم المتحركة الخاصة بك هو أفضل خيار؟

هل كانت مفيدة؟

المحلول

لا، من الممكن تماما باستخدام XAML القياسية:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" x:Name="col0"/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <Grid.Resources>
        <Storyboard x:Key="sbCol0ToAuto">
            <ObjectAnimationUsingKeyFrames 
                BeginTime="0" Duration="0"
                Storyboard.TargetName="col0" Storyboard.TargetProperty="Width">
                <DiscreteObjectKeyFrame KeyTime="0">
                    <DiscreteObjectKeyFrame.Value>
                        <GridLength>*</GridLength>
                     </DiscreteObjectKeyFrame.Value>
                </DiscreteObjectKeyFrame>
             </ObjectAnimationUsingKeyFrames>
         </Storyboard>
    </Grid.Resources>
...
</Grid>

وحتى العودة إلى السيارات:

<DiscreteObjectKeyFrame KeyTime="0" Value="{x:Static GridLength.Auto}">
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top