Dot-Net
為什麼我的 WPF XAML Grid TranslateTransform.X 不能?
我可以使用它來更改網格的寬度/高度,那麼為什麼當我使用 (Grid.RenderTransform).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>應用程序載入等,但點擊按鈕時沒有任何反應。
這是我的網格的 XAML:
<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>請注意,我嘗試了許多不同的 Canvas.Left 值,但無濟於事。
您必須定義一個
TranslateTransform對象,該對像在某種意義上錨定對象,以便沿 x 或 y 軸進行任何移動,就像RenderTransformGrid 一樣,才能更改其值:<Grid x:Name="grid" ... > <Grid.RenderTransform> <TranslateTransform X="0" Y="0" /> </Grid.RenderTransform> <!-- ... --> </Grid>