如何在DataGrid的行中显示多个绑定数据的工具提示?

时间:2013-09-10 13:56:06

标签: c# wpf datagrid tooltip

我在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中,如何绑定所有数据以在单个工具提示中显示?姓名,年龄,城市,生日,更多数据...

2 个答案:

答案 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>