none
Как сделать перенос строк в TreeView в Silverlight? RRS feed

  • Вопрос

  • Подскажите, как сделать перенос в TreeView в Silverlight?

    Делаю шаблон, использую TextBlock, указываю там TextWrapping, но это не работает.

    24 июля 2011 г. 22:42

Ответы

  • Хм, попробуйте задать ширину для TextBlock в шаблоне, можно даже убрать WrapPanel, должно получиться.

        <sdk:TreeView ScrollViewer.HorizontalScrollBarVisibility="Disabled" Width="100" x:Name="treeView1">
          <sdk:TreeView.ItemTemplate>
            <sdk:HierarchicalDataTemplate>
              <TextBlock Text="{Binding}" TextWrapping="Wrap" Width="{Binding ElementName=treeView1, Path=Width}"/>
            </sdk:HierarchicalDataTemplate>
          </sdk:TreeView.ItemTemplate>
        </sdk:TreeView>


    Для связи [mail]
    25 июля 2011 г. 13:33
    Модератор

Все ответы

  • Здравствуйте.

    А вы отключили горизонтальную прокрутку?

    ScrollViewer.HorizontalScrollBarVisibility="Disabled"
    

    И еще можно попробовать вариант отсюда - TreeView data and wrapping TreeViewItems, а WrapPanel взять из Silverlight Toolkit - WrapPanel in Silverlight 4 toolkit


    Для связи [mail]
    25 июля 2011 г. 6:49
    Модератор
  • Делаю вот так:

    <UserControl.Resources>
    	<sdk:HierarchicalDataTemplate x:Key="QuestionTemplate">
    		<toolkit:WrapPanel>
    			<TextBlock TextWrapping="Wrap" ... />
    		</toolkit:WrapPanel>
    	</sdk:HierarchicalDataTemplate>
    	<sdk:HierarchicalDataTemplate x:Key="ChapterTemplate" ItemTemplate="{StaticResource QuestionTemplate}" ...>
    		<toolkit:WrapPanel>
    			<TextBlock TextWrapping="Wrap" ... />
    		</toolkit:WrapPanel>
    	</sdk:HierarchicalDataTemplate>
    </UserControl.Resources>
    <Grid Name="LayoutRoot">
    	<sdk:TreeView 
    		ItemTemplate="{StaticResource ChapterTemplate}" 
    		ScrollViewer.HorizontalScrollBarVisibility="Disabled"
    		...	/>
    </Grid>

    и не работает :(

    25 июля 2011 г. 10:19
  • Хм, попробуйте задать ширину для TextBlock в шаблоне, можно даже убрать WrapPanel, должно получиться.

        <sdk:TreeView ScrollViewer.HorizontalScrollBarVisibility="Disabled" Width="100" x:Name="treeView1">
          <sdk:TreeView.ItemTemplate>
            <sdk:HierarchicalDataTemplate>
              <TextBlock Text="{Binding}" TextWrapping="Wrap" Width="{Binding ElementName=treeView1, Path=Width}"/>
            </sdk:HierarchicalDataTemplate>
          </sdk:TreeView.ItemTemplate>
        </sdk:TreeView>


    Для связи [mail]
    25 июля 2011 г. 13:33
    Модератор