RenderTransform后更新保证金

时间:2012-07-04 23:22:22

标签: c# wpf

我在控件上应用了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");            
}

我希望在Transform之后“更新”保证金。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

您无法自动执行此操作,因为RenderTransform不会影响任何布局属性。

来自MSDN

  

RenderTransform - 一个修改外观的变换   element,但在布局传递完成后应用。通过使用   您可以使用RenderTransform属性而不是LayoutTransform属性   可以获得性能上的好处。

您不能使用LayoutTransform

  

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