/// <summary>子要素に必要なレイアウトのサイズを測定</summary> /// <param name="availableSize">親要素が子要素を割り当てることができる使用可能な領域</param> /// <returns>子要素に必要なレイアウトのサイズ</returns> protected override Size MeasureOverride(Size availableSize) { // 装飾ビジュアルオブジェクトのレイアウト更新 AdornerVisual.Measure(availableSize); // 子要素に必要なレイアウトのサイズを測定して決定したサイズを返す return(base.MeasureOverride(availableSize)); }
/// <summary>子要素を配置</summary> /// <param name="finalSize">要素自体と子を配置するために使用する親の末尾の領域</param> /// <returns>子要素を配置して決定したサイズ</returns> protected override Size ArrangeOverride(Size finalSize) { // 装飾ビジュアルオブジェクトの子要素を配置 AdornerVisual.Arrange(new Rect(finalSize)); // 子要素を配置して決定したサイズを返す return(base.ArrangeOverride(finalSize)); }