私は3つの異なるコントロール、2つはグループボックス、3つ目はツリービューですグリッドを持っています。 最初の幅がわからないので、Window.SizeToContentが "幅"に設定されています すべてがウィンドウ内に完全に収まります。ツリービューからノードを拡張すると問題が発生しました.Width.Widthは新しい幅に調整されます。ツリービューは完璧にフィットしますが、残りのコントロールはそれほど素晴らしいものではありません。SizeToContent.WidthとTreeView
私はSizeToContentによって与えられた「オリジナル」の幅を維持したい、と私は代わりに、ここでは全体Window.Width
を変更treeViewNodeを拡張する際にスクロールバーを得るでしょうが、XAML(ちょうどメイングリッドとありますツリービュー)
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<!--Attachments-->
<GroupBox x:Name="gbAttachments" Header="Attachments" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" HorizontalContentAlignment="Stretch">
<TreeView x:Name="tvAttachments" BorderThickness="0" ScrollViewer.HorizontalScrollBarVisibility="Visible" />
</GroupBox>
<!--Attachments-->
</Grid>
私は、ColumnDefinition.Width =「*」とHorizontalContentAlignmentを試してきた、と他の人の多くは方法を貴様は、私もScrollbarViewerの内側にそれを置くことを試みたが、何も動作していないようにみえます。常にノードを拡張すると、ウィンドウ全体がノードの内容で拡張されます(実際はかなり長い)。私はかなり問題がWindow.SizeToContent = '幅'であることを確信していますが、元の幅がわからない場合は、残りのコントロールに対して何ができるのでしょうか?すべてのアイデア、事前に感謝!解決策は、予想以上に簡単だった
--edit
まあは、イベントに私はgbAttachments.ActualWidthを取得し、それがXAMLで行うことができますかなり確信して、美しいないTreeView.MaxWidth に割り当てWindow_Loadedしかしそれは働いている。あなたは、ツリー内のノードのMaxWidth
プロパティ設定してみてください可能性があり
私は1つのグループボックスしか見ることはできません - ここに2があるはずですか? –
はい@アーロン、私はちょうどツリービューとメイングリッドのコードを入れました – Nekeniehl