Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
[WPF]コントロールサイズの固定について
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30859#CommentId85706
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
SSD
 (社会人)
投稿日時
2023/4/13 16:36:45
WPFでWindowにDockPanelを配置し、3つのScrollViewerをDockしています。(Top,Right,Bottom)
また、それぞれのScrollView内にFrameを配置しています。
FrameにはPageを表示しており、コントロールの操作に応じて表示するPageを切り替えています。
BottomにDockしたScrollViewerはIsLastChildFill = TrueによってFill状態です。
Fill状態のScrollViewerのFrameのPage内にはDockPanel、Card(Material Design In XAML Toolkit)、DcokPanel、DataGridという順に親子関係になるようにコントロール配置しています。
DataGridにはDataTableをバインドしています。
列数が多いのでDataGridの幅に連動してその親のDockPanelの幅が拡張され、またその親のCardの幅が...
という具合に幅が連動してPage幅はScrollViewerの幅を超えているため、HorizontalScrollBarが有効になっています。
Pageの幅はScrollViewerと同じ幅にして、DataGridのScrollViewer.HorizontalScrollBarVisibility="Auto"
で水平方向のスクロールに対応したいと思い、Page幅を以下のようにしました。
Width="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ScrollViewer},Path=Width}"
ですが、実行すると幅が拡張されたままになってしまいます。
Pageが親コントロール以上の幅にならないようにするにはどうすればいいのでしょうか?