Canvas
幅を変えて完全に水平にストレッチするにはどうすればよいですか?これは親Canvas
なので、親はなく、子だけです。
XAMLソース:ブレンドで表示 http://resopollution.com/xaml.txt
Canvas
幅を変えて完全に水平にストレッチするにはどうすればよいですか?これは親Canvas
なので、親はなく、子だけです。
XAMLソース:ブレンドで表示 http://resopollution.com/xaml.txt
UIの最上位要素としてaを使用Grid
します。これは、コンテナを満たすために拡張されます。次に、の中にCanvas
withを入れると、希望どおりに動作します。HorizontalAlignment="Stretch"
Grid
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Canvas Background="Blue"/>
</Grid>
それは私のために働いた。重要なのはトップレベルのUI要素です。Grid
デフォルトでは、使用可能なすべてのスペースがいっぱいになりますが、esCanvas
はコンテンツが要求するスペースしか占有しません。
私はあなたが試したと思います
canvas.HorizontalAlignment = HorizontalAlignment.Stretch
これが機能しない場合は、キャンバスのandプロパティを包含ウィンドウのWidth
andプロパティにバインドすることができます。Height
ActualWidth
ActualHeight
ドックパネルを使用して、使用可能な幅を埋めることができます。コントロールのドックパネルリストの最後の項目は、残りのスペースを埋めるために自動的に引き伸ばされます。
<DockPanel>
<Canvas />
</DockPanel>
高さや幅を手動で設定しない限り、キャンバスはこれを自動的に行う必要があります。キャンバスを配置しようとしているのはどのようなコントロールですか?コードを投稿できますか?
問題は、とを指定していることHeight
ですWidth
。これらのプロパティがないと、デザイナではコントロールが消えて見える場合がありますが、キャンバスを別のコントロールに挿入すると、適切なサイズになります。
正しく思い出せば、WPFの次のバージョンには「DesignWidth」プロパティと「DesignHeight」プロパティがあり、他のコントロールに挿入したときに測定に影響を与えることなく、特定のサイズでデザイナーにコントロールを表示できます。