繁体   English   中英

WPF 工具提示文本对齐

[英]WPF ToolTip Text Alignment

我有以下ListViewItem

                    <GridViewColumn Width="{Binding ActualWidth, 
                                              RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Grid}}, 
                                              Converter={StaticResource MathConverter}, ConverterParameter=(x/10)*1}">
                        <GridViewColumn.Header>
                            <GridViewColumnHeader Content=" Total Fees "
                                                  HorizontalContentAlignment="Right" />
                        </GridViewColumn.Header>
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding GarnishmentTotals.TotalFees, StringFormat={}{0:c}}"
                                           TextAlignment="Right" />
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>

此商品的Style如下:

    <Style x:Key="MultipleGarnishmentsStyle" TargetType="ContentControl">
        <Style.Triggers>
            <DataTrigger Binding="{Binding Garnishments.Count, Converter={StaticResource GreaterThanEqualToBooleanConverter}, ConverterParameter=2}" Value="True"
                         h:TriggerTracing.TriggerName="MultipleGarnishmentsStyle_Trigger1"
                         h:TriggerTracing.TraceEnabled="True">
                <!-- Leave the content alone and just change the format string -->
                <Setter Property="TextBlock.FontWeight" Value="UltraBold" />
                <Setter Property="ToolTip" Value="Employee has multiple garnishments. Double click to view details." />
            </DataTrigger>
        </Style.Triggers>
    </Style>

我在ToolTip对齐文本时遇到问题。

在此处输入图片说明

文本似乎使用 ListViewItems 文本对齐(右)。 我尝试将以下属性添加到样式中,但没有任何变化:

<Setter Property="TootlTip.HorizontalAlignment" Value="Left" />
<Setter Property="TootlTip.HorizontalContentAlignment" Value="Left" />
<Setter Property="TootlTip.Width" Value="300" />

有没有办法增加ToolTip宽度,这样文本就不会换行,或者使ToolTip文本左对齐。

我遇到了同样的问题,经过一些挖掘( RibbonToolTip 继承了文本框的对齐方式),我找到了一个解决方案。 也许晚了,但对他人有益。

您需要做的是像这样设置 ToolTip 样式:

     <Style TargetType="ToolTip">
        <Setter Property="TextBlock.TextAlignment" Value="Left"/>
     </Style>

由于 Tooltip 是一个 ContentControl,您可以根据需要自定义其内容。 考虑以下示例:

<Grid>
    <Button Content="Hi there!">
        <Button.Style>
            <Style TargetType="Button">
                <Setter Property="ToolTip">
                    <Setter.Value>
                        <ToolTip  MaxWidth="100" HorizontalContentAlignment="Center">
                            <TextBlock Text="fsdfasdfasdfasdfasdfasdfadsfasdf fadsfadsf adfa fdasfasdfasdfa adfasd" TextAlignment="Center" HorizontalAlignment="Center" TextWrapping="Wrap"/>
                        </ToolTip>
                    </Setter.Value>
                </Setter>
            </Style>
        </Button.Style>
    </Button>
</Grid>

您可以使用内容的属性(在本例中为 TextBlock)以获得您想要的最终外观。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM