この依存関係プロパティを定義するカスタム パネルがあります。
public static readonly DependencyProperty DragPositionProperty =
DependencyProperty.Register(
"DragPosition",
typeof(Point),
typeof(LogViewHeaderPanel),
new FrameworkPropertyMetadata(
new Point(),
FrameworkPropertyMetadataOptions.AffectsParentArrange
)
);
注: FrameworkPropertyMetadataOptions.AffectsArrange も試しました...
その LogViewHeaderPanel は、LogViewHeader と呼ばれるカスタム ItemsControl のパネルです。その項目は、ColumnHeader 型です。マウスが移動し、LogViewHeader 内で他のいくつかの条件が満たされるたびに、ターゲットの ColumnHeader には、次のコードを使用してプロパティ セットが設定されます。
_currentlyActiveColumnHeader.SetValue(
LogViewHeaderPanel.DragPositionProperty,
new Point(suggestedXPosition, originalPosition.Y)
);
LogViewHeaderPanel.ArrangeOverride のオーバーライドにブレークポイントを設定すると、LogViewHeader が作成/サイズ変更されたときに呼び出されますが、DragPosition プロパティがその子に設定されているときには呼び出されません。
プロパティが設定されているときに、FrameworkPropertyMetadataOptions.AffectsParentArrange パラメーターがアレンジをトリガーしないのはなぜですか?