2008-12-19 5 views
10

Ich habe eine TextBlock, die ich auf die Breite eines TreeView Autosize benötigen. Die TreeView und die TextBlock sind beide in einem StackPanel enthalten. Die StackPanel ist in einem Expander. Die Breite des TreeView sollte die Breite der anderen Objekte steuern und ich brauche die Höhe des TextBlock, um den Volltext anzuzeigen. Alle meine Bemühungen haben dazu geführt, dass die Breite TextBlock gefahren ist. Vielen Dank!Wie setzen Sie einen Textblock auf Autosize auf die Breite eines TreeView?

 <Expander IsEnabled="True" HorizontalAlignment="Right" Margin="0,8,8,53" x:Name="ExpanderBookMarks" Width="Auto" Foreground="#FF625B5B" ExpandDirection="Down" IsExpanded="True" Header="Bookmarks" Visibility="Hidden"> 

     <StackPanel Name ="StackPanelBookmark" Orientation="Vertical" Width="{wpf:Binding Path=Width, ElementName=trvBookmarks, Mode=Default}"> 

      <TreeView x:Name="trvBookmarks" ItemsSource="{Binding}" 
       ItemTemplateSelector="{StaticResource BookmarkTemplateSelector}" 
       Margin="0,0,0,0" 
       TreeViewItem.Selected="HandleTreeViewItemClick" AllowDrop="True"/> 

      <TextBlock x:Name="TextBlockBookmarkDiscription" TextWrapping="Wrap" Foreground="AntiqueWhite" Background="Transparent" Width="150"> 
       This is the discription area and needs to be very long because the end user can put 400 charectors in.      
      </TextBlock> 

     </StackPanel> 

     <!--End of Dougs Treeview--> 

    </Expander> 

Antwort

18

Versuchen Sie folgendes:

<TextBlock Width="{Binding ElementName=trvBookmarks,Path=ActualWidth}" ... /> 
+0

+1 Legende. Vielen Dank. – ozczecho