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レイアウトプロパティに影響を与えないため、自動的に行うことはできません。

MSDNから

RenderTransform –要素の外観を変更するが、レイアウトパスの完了後に適用される変換。LayoutTransformプロパティの代わりにRenderTransformプロパティを使用すると、パフォーマンス上の利点を得ることができます。

そして、代わりに使用することはできませんLayoutTransform

LayoutTransformプロパティとともに使用すると、TranslateTransformオブジェクトは要素に影響を与えないように見えることに注意してください。

于 2012-07-04T23:34:30.863 に答える