WPFのTreeView ItemTemplateにはalighments
- ドックパネル
- のDataGridを制御を作成してい
。 DataGridの高さはわずか25です。ここではデータを表示しないでください。階層と
- のTreeViewコントロール私はちょうど問題と
は、アカウントの種類は関係なく常にで展開されているどのように多くのレベル左側に揃えるべきではないXAMLコードを理解するために画像を追加してい
「最初の列」どこかに私は考えを失ったTreeViewItemTemplateのXAMLで
は...誰もがアラインメントを修正するために私を助けることができる
<DockPanel DataContext="{StaticResource cust}">
<Button Command="{Binding rld}" Content="reload" DockPanel.Dock="Top"/>
<!--Unbound DataGrid just to display the headers-->
<DataGrid Height="25" DockPanel.Dock="Top" ItemsSource="{Binding Customers}" AutoGenerateColumns="False" Margin="0,0,0,0">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}" Header="Name" x:Name="col0"></DataGridTextColumn>
<DataGridTextColumn Binding="{Binding AccountType}" Header="Account Type" x:Name="col1"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<!--Actual Binding with Tree View and item Template to display the properties-->
<TreeView ItemsSource="{Binding Customers}" DockPanel.Dock="Top">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding rel}">
<Grid HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{Binding ElementName=col0,Path=ActualWidth}"></ColumnDefinition>
<ColumnDefinition Width="{Binding ElementName=col1,Path=ActualWidth}" ></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Name}" VerticalAlignment="Center"/>
<TextBlock Grid.Column="1" Text="{Binding AccountType}" VerticalAlignment="Center" />
</Grid>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
</DockPanel>
もし私がこのようにすれば、アライメントはもっとうんざりしてしまいます。私はそれを試します。 – user2160275
@ user2160275ああ、ごめんなさい。実際に接続されていないデータグリッドヘッダーとツリービューを揃えようとしているので、これは難しいかもしれません。私はこれがあなたが望む機能を提供していると思うので、TreeListViewを使うことを検討することをお勧めします。 – PlantPorridge