我想自定义我的DataGrid以显示所选行中的工具提示,请参阅下面的模型图片,以便更好地了解我想要实现的目标。
目前正好 - 显示单个选定的行:
我想要的方式 - 显示所选的同一行,现在使用工具提示:
我真的不知道如何实现这一点,所以我对任何建议都持开放态度。
答案 0 :(得分:17)
我使用DataGrid.RowStyle
设置工具提示。
我的绑定对象具有ToolTipText
属性,其中包含ToolTip
的内容。
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="ToolTip">
<Setter.Value>
<TextBlock Text="{Binding ToolTipText}" />
</Setter.Value>
</Setter>
</Style>
</DataGrid.RowStyle>
答案 1 :(得分:11)
您可以使用RowDetailsTemplate。
以下是示例代码:
<DataGrid Name="grid" AutoGenerateColumns="False">
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<TextBlock Background="Orange" Text="{Binding MoreInfo}" TextWrapping="Wrap"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
</DataTemplate>
</DataGrid.RowDetailsTemplate>
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding ID}" />
<DataGridTextColumn Header="ID" Binding="{Binding Name}" />
<DataGridTextColumn Header="ID" Binding="{Binding Surname}" />
</DataGrid.Columns>
</DataGrid>
答案 2 :(得分:0)
在数据网格中的行上添加工具提示的另一种简单方法如下:
使用LodingRow
事件并添加如下工具提示:
private void grdItemlogs_LoadingRow(object sender, DataGridRowEventArgs e)
{
if (e.Row != null)
{
string toolTipText = "Your Tooltip string content"
e.Row.ToolTip = toolTipText;
}
}