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ウィンドウのサイズを変更した後のエクスパンダでコンテンツのサイズを維持しますか
- 2. wpf:コンテンツに応じてコントロールのサイズを変更する
- 3. wpf/caliburn.microアプリケーションのサイズを設定し、メインウィンドウでコンテンツのサイズを変更できるようにしました。
- 4. JScrollpane可変サイズのコンテンツでサイズ変更
- 5. 画像のサイズに応じてコンテンツのサイズを変更します
- 6. VB6アプリをWPFに変換しますか?
- 7. WPFディスパッチャをWinforms BGworkerに変換しますか?
- 8. C#WPFバイト配列をビデオファイルに変換しますか?
- 9. WPFのリストビューのサイズ変更
- 10. iOS - コンテンツに合わせてUILabelのサイズを変更しますか?
- 11. iOS - コンテンツに合わせてUIWebViewのサイズを変更しますか?
- 12. jqueryがdivコンテンツのサイズを変更しています
- 13. WPFウィンドウのコンテンツを変更する
- 14. ListBoxでウィンドウのサイズを変更しますが、コンテンツのサイズは変更しません。
- 15. MVVMを使用してContentControl WPFのコンテンツを変更しますか?
- 16. WPFでコントロールのサイズを変更する
- 17. WPFアプリケーションをWPF XBAPアプリケーションに簡単に変換できますか?
- 18. x:TypeをSilverlightに変換するWPFデータ型を変換する
- 19. WPF ListViewサイズ変更狂気
- 20. Androidのテキストファイルを読み込み、コンテンツをUTF-8に変換しますか?
- 21. ファイル://スキームをコンテンツに変換する//スキーム
- 22. コンテンツのサイズに合わせてサイズを変更してください
- 23. WPF:一度にウィンドウを移動してサイズを変更する
- 24. UIScrollViewは不思議なようにフレームとコンテンツのサイズを変更します
- 25. CSSコンテンツのイメージマトリックススタイルの変換?
- 26. リサンプラでJPanelのサイズを変更してコンテンツを保存する
- 27. WPF:GridSplitterを使用してコンテンツのサイズ変更をトリガーする
- 28. WPFアプリケーションをDLLに変換する
- 29. WPF xamlをSilverlight xamlに変換する
- 30. System.Drawing.Font.SizeをWPFに変換するFontSize
これらのプロパティを指定する必要があるように、使用可能な領域を塗りつぶすように、水平方向と垂直方向のストレッチを行います。 HorizontalAlignment = "Left" VerticalAlignment = "Top" –