通过资源设置工具提示时,文字换行不起作用

时间:2018-10-12 21:14:58

标签: wpf vb.net

我有一个stackpanel的{​​{1}}的应用程序-本质上是一个垂直stackpanels,其中有几个水平的,包含各种控件。每个水平stackpanel都有一个工具提示,描述了该控件集合的功能。因为其中一些工具提示很长,所以我想为工具提示设置默认的最大宽度(在此垂直堆栈面板中),并启用文字换行。

如果我手动设置它,它将按预期工作

stackpanel

但是,当我尝试将其设置为主要垂直<StackPanel Orientation="Horizontal" > <StackPanel.ToolTip> <ToolTip MaxWidth="400"> <TextBlock Text="Lots and lots of really long text that should overflow and show if this thing works." TextWrapping="Wrap" /> </ToolTip> </StackPanel.ToolTip> ...other controls... </StackPanel>

上的资源时
stackpanel

最大宽度是正确的,但是没有自动换行。还有其他设置器,但是即使我全部注释掉,问题仍然存在-因为没有换行,所以工具提示文本被切除了。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

由于文本块是工具提示的内部元素,因此应为其添加内部样式。

<StackPanel.Resources>
        <Style TargetType="ToolTip">
            <Setter Property="MaxWidth" Value="300" />
            <Style.Resources>
                <Style TargetType="TextBlock">
                    <Setter Property="TextWrapping" Value="Wrap"></Setter>
                </Style>
            </Style.Resources>
        </Style>
</StackPanel.Resources>