[英]Why won't my WPF XAML Grid TranslateTransform.X?
I'm able to change the width/height of the grid using this, so why won't it work when I use (Grid.RenderTransform).TranslateTransform.X as such:我可以使用它来更改网格的宽度/高度,那么为什么在我使用 (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>
The application loads etc, but nothing happens when the button is clicked.应用程序加载等,但单击按钮时没有任何反应。
Here is the XAML for my grid:这是我的网格的 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>
Note that I've tried many different Canvas.Left values, to no avail.请注意,我尝试了许多不同的 Canvas.Left 值,但无济于事。
You will have to define a TranslateTransform
object, which anchors the object in a sense for any movement along x or y axis , as the RenderTransform
for the Grid before one can change its values:您必须定义一个
TranslateTransform
对象,该对象在某种意义上将对象锚定为沿 x 或 y 轴的任何移动,作为网格的RenderTransform
,然后才能更改其值:
<Grid x:Name="grid" ... >
<Grid.RenderTransform>
<TranslateTransform X="0" Y="0" />
</Grid.RenderTransform>
<!-- ... -->
</Grid>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.