我在WPF应用程序中有一个显示一列的DataGrid。我想要一个显示每行所有数据的tootip。它是这样的(这是有效的):
<DataGridTextColumn Header="ScreenName" Binding="{Binding Name}" >
<DataGridTextColumn.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="ToolTip" Value="{Binding Name}" />
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
如果我将Binding更改为另一个属性(如Value =“{Binding Age}”)也有效,则在工具提示中显示年龄。在我的Setter中,如何绑定所有数据以在单个工具提示中显示?姓名,年龄,城市,生日,更多数据...
答案 0 :(得分:1)
您必须使用转换器
<Setter Property="ToolTip" Value="{Binding Converter={StaticResource MyConverter}" />
public class MyConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
//Create your string here from properties
return tooltiptext;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value;
}
}
答案 1 :(得分:1)
您也可以使用MultiBinding:
<Setter.Value>
<MultiBinding StringFormat="{0} {1} {2}">
<Binding Age />
<Binding Name />
<Binding City />
</MultiBinding>
</Setter.Value>