WPFコントロールの内容に応じてサイズを変更するにはどうすればよいですか?Wpfのサイズをコンテンツに変換しますか?
答えて
ほとんどのコントロールでは、XAMLの高さと幅をAuto
に設定し、内容に合わせてサイズを調整します。
コードでは、幅/高さをdouble.NaN
に設定します。詳細は、FrameworkElement.Width、特に「備考」を参照してください。
このような問題があって、ウィンドウの幅を指定しましたが、高さはAuto
に設定されていました。子DockPanel
はVerticalAlignment
がトップに設定されていて、ウィンドウにはVerticalContentAlignmentがTopに設定されていましたが、ウィンドウはまだ内容よりもはるかに大きくなります。スヌープを使用して
、私は、ウィンドウ内のContentPresenter
(ウィンドウの一部ではなく、私はそこに入れていた何かが)、それはStretch
からVerticalAlignment
セットだと全体のウィンドウをretemplatingなしに変更することができない持っていること!発見
多くの不満の後で、私はSizeToContent
プロパティを発見しました。これを使って、コンテンツのサイズに応じて、ウィンドウを縦、横、または両方にサイズ調整するかどうかを指定できます。私はその財産を見つけるのにずっと時間がかかったと信じられない!
すべてのグリッドがこのプロパティを持つことを願っています... – Shimmy
問題がトップレベルウィンドウに適用されるときSizeToContent = "WidthAndHeight"を設定します。私はこの1時間で時間を失った - それは直感的ではない! http://stackoverflow.com/questions/812079/window-heightauto-problem – DeveloperDan
を参照してください。 'Window'は' Control'ですが、OPは 'UserControl'を参照していたと思います。これは' SizeToContent 'プロパティ。さもなければ、OPは被験者に「ウインドウ」という用語を使用する。 – ProfK
グリッドコンポーネントまたは類似コンポーネントを使用している場合: XAMLでは、グリッドの要素にGrid.RowとGrid.Columnが定義されていることを確認し、余白がないことを確認します。デザイナーモード、またはExpression Blendを使用した場合、特定のセルではなく、グリッド全体に対してマージンを割り当てることができます。 は、セルのサイズに関しては、私はスペースの残りをいっぱいに余分なセルを追加します。
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
私は別のコンテナによって制約されない、自由形式の方法で、ページの上に座ってユーザーコントロールを持っていたし、ユーザーコントロール内のコンテンツは自動サイズされませんが、ユーザーコントロールが渡された内容のフルサイズに展開されます。
は、私はこのような自動サイズに設定された行上でグリッドにそれを置き、高さのみのために、そのコンテンツに単にサイズにユーザーコントロールを取得するには、次のコントロールの多くは設定さらに<Grid Margin="0,60,10,200">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<controls1:HelpPanel x:Name="HelpInfoPanel"
Visibility="Visible"
Width="570"
HorizontalAlignment="Right"
ItemsSource="{Binding HelpItems}"
Background="#FF313131" />
</Grid>
- 1. WPF GridViewRowPresenterはすべてのコンテンツをTextblockに変換します
- 2. どのようにWPFウィンドウのサイズを変更した後のエクスパンダでコンテンツのサイズを維持しますか
- 3. wpf:コンテンツに応じてコントロールのサイズを変更する
- 4. WPFウィンドウをコンテンツに自動サイズ変更する方法
- 5. wpf/caliburn.microアプリケーションのサイズを設定し、メインウィンドウでコンテンツのサイズを変更できるようにしました。
- 6. ListView/GridViewのWPFコンテンツへのサイズ変更方法
- 7. JScrollpane可変サイズのコンテンツでサイズ変更
- 8. 画像のサイズに応じてコンテンツのサイズを変更します
- 9. UITableViewCellコンテンツと中心からUITextViewをサイズ変更します
- 10. Iframeのサイズをコンテンツのサイズに合わせて変更する
- 11. C#WPFバイト配列をビデオファイルに変換しますか?
- 12. VB6アプリをWPFに変換しますか?
- 13. WPFディスパッチャをWinforms BGworkerに変換しますか?
- 14. WPFのリストビューのサイズ変更
- 15. WPFウィンドウのコンテンツを変更する
- 16. MVVMを使用してContentControl WPFのコンテンツを変更しますか?
- 17. iOS - コンテンツに合わせてUILabelのサイズを変更しますか?
- 18. iOS - コンテンツに合わせてUIWebViewのサイズを変更しますか?
- 19. jqueryがdivコンテンツのサイズを変更しています
- 20. WPFでコントロールのサイズを変更する
- 21. コンテンツをクリックしてサイズを変更したInternet Explorerのサイズ変更
- 22. コンテンツを使用してuilabelのサイズを変更するには?
- 23. ListBoxでウィンドウのサイズを変更しますが、コンテンツのサイズは変更しません。
- 24. WPFアプリケーションをWPF XBAPアプリケーションに簡単に変換できますか?
- 25. * .txtのコンテンツをコードページ850に変換します。OEM
- 26. 私のWPF MvvMコードをAsp.Net Mvcに変換します
- 27. WPF ListViewサイズ変更狂気
- 28. WPF ViewBoxズーム/サイズ変更イベント
- 29. VisualStateManagerはwpf形式のウィンドウのサイズを変更しません
- 30. x:TypeをSilverlightに変換するWPFデータ型を変換する
これらのプロパティを指定する必要があるように、使用可能な領域を塗りつぶすように、水平方向と垂直方向のストレッチを行います。 HorizontalAlignment = "Left" VerticalAlignment = "Top" –