私はしばらくの間この壁で頭を打ちました。ContentControlのサイズ変更で問題が発生する
私はContentControlから派生したカスタムコントロールを持っています。それは、宣言的にまたはプログラム的に親に合わせてサイズが変更されない限り、完全に機能しています。
カスタムコントロールは(最終的に)コンテンツプレゼンター内で親子化されていますが、正しいサイズですが、自分のサイズに合わせてサイズを変更しません。
MyControl 36022757: Size is 400x267 (Stretch/Stretch)
Parent is 979x569 (Stretch/Stretch)
MyControl 36022757: New size is 400x267
:私は明示的に(右現時点では)幅と高さを設定しても
(sample.MyControl) - 400x267
- (System.Windows.Controls.ContentPresenter) - 979x569
、サイズが
が Debug.WriteLine(string.Format("MyControl {0}: Size is {1}x{2} ({3}/{4})",
GetHashCode(), this.ActualWidth, this.ActualHeight,
this.HorizontalAlignment, this.VerticalAlignment));
Debug.WriteLine(string.Format("Parent is {0}x{1} ({2}/{3})",
parent.ActualWidth, parent.ActualHeight,
parent.HorizontalAlignment, parent.VerticalAlignment));
this.Width = parent.ActualWidth;
this.Height = parent.ActualHeight;
Debug.WriteLine(string.Format("MyControl {0}: New size is {1}x{2}",
GetHashCode(), this.ActualWidth, this.ActualHeight));
上記のコードが与える "固執" しません。なぜ!ああ、なぜ神よ!
誰でもアイデアがありますか?
これは苦しい問題を解決しました。ありがとうございます! +1 –
うーん、WPFの同じ問題でこれがうまくいくことを期待していましたが、修正プログラムは何も変わっていないようです。 :( – Domokun
私はこのことについて全面的に知っていました。私のコントロールの周りを包み込んでいたコンテンツコントロールにこれらを適用するためには、コンテナをテンプレート化する必要があることが判明しました。 – Rammesses