2010-04-12 8 views
5

soy capaz de cambiar la anchura/altura de la rejilla usando esto, así que ¿Por qué no funcionará cuando uso (Grid.RenderTransform) .TranslateTransform.X como tal:¿Por qué no mi WPF XAML Grid TranslateTransform.X?

<Window.Triggers> 
<EventTrigger RoutedEvent="Button.Click" SourceName="button"> 
    <BeginStoryboard> 
    <Storyboard> 
     <DoubleAnimation 
     Storyboard.TargetProperty="(Grid.RenderTransform).(TranslateTransform.X)" 
     From="0" To="200" Storyboard.TargetName="grid" Duration="0:0:2" 
     /> 
    </Storyboard> 
    </BeginStoryboard> 
</EventTrigger> 
</Window.Triggers> 

se carga la aplicación etc., pero no ocurre nada cuando se hace clic en el botón.

Aquí es el XAML para mi rejilla:

<Grid x:Name="grid" Height="714" Canvas.Left="240" Canvas.Top="8" Width="360" RenderTransformOrigin="0.5,0.5"> 
     <Grid.Background> 
      <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
      <GradientStop Color="Black" Offset="0"/> 
      <GradientStop Color="White" Offset="1"/> 
      </LinearGradientBrush> 
     </Grid.Background> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="0*"/> 
      <ColumnDefinition/> 
     </Grid.ColumnDefinitions> 
    </Grid> 

Tenga en cuenta que he intentado muchas diferentes valores Canvas.Left, sin ningún resultado.

Respuesta

11

Tendrá que definir un objeto como el TranslateTransformRenderTransform para la cuadrícula antes de poder cambiar sus valores:

<Grid x:Name="grid" ... > 
    <Grid.RenderTransform> 
     <TranslateTransform X="0" Y="0" /> 
    </Grid.RenderTransform> 
    <!-- ... --> 
</Grid> 

espero que funcione de esta manera. ¡Buena suerte!

Cuestiones relacionadas