WPF TreeViewは、ルートルートの崩壊時に以前に使用されていたスペースを崩壊させません

StackOverflow https://stackoverflow.com/questions/2010300

質問

ItemTemplate用のデータセテンプレートを使用して、リストボックスに表示しているさまざまなコレクションプロパティを備えたオブジェクトがいくつかあります。そのデータセテンプレート内には、ListBoxItemに表示されているアイテムを表すルートツリービューイテムのTreeViewitemの子供としてさまざまなプロパティを表示するTreeViewがあります。私の問題は次のとおりです。リストボックスティムには、データセテンプレート内の完全に拡張されたツリービューの垂直サイズがあります。 ListBoxItemsが最小サイズを可能にするように、これを変更する方法はありますか?

私のxaml:

<ListBox x:Name="ShackList" ItemsSource="{Binding}" ToolTip="Right click for options" SelectionMode="Single">
  <ListBox.ItemTemplate>
    <DataTemplate DataType="{x:Type model:ShackConfigurationRepository}">
      <TreeView BorderThickness="0" Margin="0">
        <TreeView.Resources>
          <Style x:Key="deviceRepoNodeStyle" TargetType="{x:Type TreeViewItem}">
            <Setter Property="Margin" Value="3"/>
            <Setter Property="ContextMenu" Value="{StaticResource deviceTypeTreeViewItemContextMenu}"/>
          </Style>
        </TreeView.Resources>
        <TreeViewItem>
          <TreeViewItem.Header>
            <StackPanel Orientation="Horizontal">
              <Image Source="Resources/Shack_64x64_72.png" Height="24" Width="24"/>
              <TextBlock VerticalAlignment="Center" Margin="5,0,0,0" Text="{Binding Path=ShackName}" />
            </StackPanel>
          </TreeViewItem.Header>
          <!-- 
          The 'Tag' attribute of the following TreeViewItems is a value of
          DeviceType used to control which collection gets set as the content
          of the device list.
          -->
          <TreeViewItem Header="Pendants" Tag="PENDANT"     Selected="ShackDevice_Selected" DataContext="{Binding}" Style="{StaticResource deviceRepoNodeStyle}" PreviewMouseRightButtonDown="DeviceTreeNode_PreviewMouseRightButtonDown"/>
          <TreeViewItem Header="Oscillators" Tag="OSCILLATOR"   Selected="ShackDevice_Selected" DataContext="{Binding}" Style="{StaticResource deviceRepoNodeStyle}" PreviewMouseRightButtonDown="DeviceTreeNode_PreviewMouseRightButtonDown"/>
          <TreeViewItem Header="Thru-Arc-Tracking" Tag="TAT"    Selected="ShackDevice_Selected" DataContext="{Binding}" Style="{StaticResource deviceRepoNodeStyle}" PreviewMouseRightButtonDown="DeviceTreeNode_PreviewMouseRightButtonDown"/>
          <TreeViewItem Header="Travel" Tag="TRAVEL"            Selected="ShackDevice_Selected" DataContext="{Binding}" Style="{StaticResource deviceRepoNodeStyle}" PreviewMouseRightButtonDown="DeviceTreeNode_PreviewMouseRightButtonDown"/>
        </TreeViewItem>
      </TreeView>
    </DataTemplate>
  </ListBox.ItemTemplate>
</ListBox>
役に立ちましたか?

解決

ウィンドウのすべてのScrollViewerの最小高さと幅を定義するウィンドウリソースでScrollViewerのスタイルがありましたが、ListBoxItemsがScrollViewersを内部で使用していることに気付きませんでした。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top