UWP: установить жирный текст в TreeNode - PullRequest
0 голосов
/ 13 июня 2018

Я следую документации Microsoft , чтобы реализовать TreeView в приложении Universal Windows Platform в C++.Мне удалось создать древовидное представление с одним узлом, используя следующие коды:

XAML:

<TreeView x:Name="treeSolution"></TreeView>

C ++:

TreeViewNode ^treeNode = ref new TreeViewNode();
treeNode->Content = "Hello";
treeSolution->RootNodes->Append(treeNode);

Теперь я хочусделать текст жирным.Я попробовал следующее:

TextBlock ^textBlock = ref new TextBlock();
textBlock->Text = "Hello";
textBlock->FontWeight = Windows::UI::Text::FontWeights::Bold;
treeNode->Content = textBlock;
treeSolution->RootNodes->Append(treeNode);

Код отображает Windows.UI.Xaml.Controls.TextBlock вместо Hello жирным шрифтом.

В документации сказано, что In Windows 10, version 1803, you have to retemplate the TreeView control and specify a custom ItemTemplate if your content is not a string. Затем приводится сложный пример с использованием музыкии библиотека изображений.

Может ли кто-нибудь привести простой пример того, как отображать текст жирным шрифтом?Благодарю.

1 Ответ

0 голосов
/ 13 июня 2018

Вы должны предоставить собственный стиль для всего элемента управления в XAML, чтобы можно было установить TreeViewItemDataTemplate:

<DataTemplate x:Key="TreeViewItemDataTemplate">
    <Grid Height="44">
        <TextBlock
            Text="{Binding Content}"
            HorizontalAlignment="Left"
            VerticalAlignment="Center"
            Style="{ThemeResource BodyTextBlockStyle}"
            FontWeight="Bold" />
    </Grid>
</DataTemplate>

<Style TargetType="TreeView">
    <Setter Property="IsTabStop" Value="False" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="TreeView">
                <TreeViewList x:Name="ListControl"
                              ItemTemplate="{StaticResource TreeViewItemDataTemplate}"
                              ItemContainerStyle="{StaticResource TreeViewItemStyle}"
                              CanDragItems="True"
                              AllowDrop="True"
                              CanReorderItems="True">
                    <TreeViewList.ItemContainerTransitions>
                        <TransitionCollection>
                            <ContentThemeTransition />
                            <ReorderThemeTransition />
                            <EntranceThemeTransition IsStaggeringEnabled="False" />
                        </TransitionCollection>
                    </TreeViewList.ItemContainerTransitions>
                </TreeViewList>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...