gpt4 book ai didi

wpf - 将鼠标悬停在 WPF 中带有斜线的单元格上时,向工具提示添加文本

转载 作者:行者123 更新时间:2023-12-04 04:47:38 24 4
gpt4 key购买 nike

我在 WPF 数据网格中添加了一个工具提示,以在鼠标悬停时显示数据。我想知道当仅将鼠标悬停在带有斜线的数据上时,是否也可以向该工具提示添加文本。

数据的 EX 将是:2.34/25 和 22/2

用斜线悬停在数据上时工具提示的 EX 将是:TEST MSG 2.34/25

</UserControl.Resources>
<Style x:Key="DataGridCellStyle" TargetType="{x:Type DataGridCell}" >
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="LightBlue"/>
<Setter Property="Foreground" Value="Black"/>
</Trigger>
</Style.Triggers>
<Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Mode=Self}, Path=Content.Text}" />
<Setter Property="Height" Value="25" />
</Style>
</UserControl.Resources>

最佳答案

您可以使用两个转换器和数据触发器。

检查文本是否包含斜杠的第一个转换器:

public class SlashTextConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value != null && value.ToString().Contains("/"))
return true;
else
return false;
}

public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}

格式化自定义消息的第二个转换器:
public class CustomToolTipMessage : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return string.Format("TEST MSG {0}", value);
}

public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}

这是 DataTrigger 的样式:
<Window.Resources>
<local:SlashTextConverter x:Key="slashConverter" />
<local:CustomToolTipMessage x:Key="customToolTipConverter" />

<Style TargetType="{x:Type DataGridCell}">
<Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Mode=Self}, Path=Content.Text}" />

<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="LightBlue"/>
<Setter Property="Foreground" Value="Black"/>
</Trigger>

<DataTrigger Binding="{Binding Path=Content.Text, RelativeSource={RelativeSource Mode=Self}, Converter={StaticResource slashConverter}}" Value="True">
<Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Mode=Self}, Path=Content.Text, Converter={StaticResource customToolTipConverter}}" />
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>

关于wpf - 将鼠标悬停在 WPF 中带有斜线的单元格上时,向工具提示添加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17951935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com