我在网格内有一个椭圆,我想移动椭圆。
我曾尝试使用
RenderTransform.Transform()
和 TransformPoint()
但什么也没发生,我尝试设置对椭圆和网格的引用,但在这两种情况下我都没有移动也没有异常。
我应该用什么来移动我的场景中的椭圆?
编辑:在 Xamarin 上,我使用
TranslationY
属性,它允许我做我想做的事,文档告诉我使用 TranslateTransform
但我不明白如何使用它。
将
Ellipse
放在 Canvas
中,并使用附加的 Canvas.Left
和 Canvas.Top
属性控制其位置,或者使用您当前的方法,使用 Margin
属性将其定位在 Grid
中。
这是一个例子。
private void Button_Click(object sender, RoutedEventArgs e)
{
var margin = ellipse.Margin;
ellipse.Margin = new Thickness(margin.Left, margin.Top + 10, margin.Right, margin.Bottom);
}
XAML:
<Grid x:Name="GrFrame">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Ellipse x:Name="ellipse" Width="100" Height="100" Fill="Red" VerticalAlignment="Center" HorizontalAlignment="Center" />
<Button Grid.Row="1" Content="Move down" Click="Button_Click" />
</Grid>