2

我已经应用TranslateTransform了一个控件,但控件的边距保持不变。

var margin = this.Margin;
this.RenderTransform = new TranslateTransform(diff.X, diff.Y);
if (diff.X != 0 && diff.Y != 0)
{
    if (margin == this.Margin)
        MessageBox.Show("Margins are equal");            
}

我希望边距在变换后“更新”。我怎样才能做到这一点?

4

1 回答 1

2

您不能自动执行此操作,因为RenderTransform不会影响任何 Layout 属性。

来自MSDN

RenderTransform – 修改元素外观但在布局传递完成后应用的变换。通过使用 RenderTransform 属性而不是 LayoutTransform 属性,您可以获得性能优势。

而且您不能使用 aLayoutTransform代替。

请注意,当它们与 LayoutTransform 属性一起使用时,TranslateTransform 对象似乎对元素没有影响。

于 2012-07-04T23:34:30.863 回答