我想为我的数据网格创建工具提示,但仅针对第一列,每行在该列上具有不同的工具提示文本。
由于我的数据网格可以显示不同类型的数据集(用户使用组合框选择正确的数据集),因此我认为应该在代码后台中创建工具提示(而不是使用某种绑定)?
更新:
XAML:
<DataGrid x:Name="DG_ConfigWindow" Height="253" Margin="0,37,0,0" VerticalAlignment="Top" Loaded="DG_ConfigWindow_Loaded"
CellEditEnding="DG_ConfigWindow_CellEditEnding" IsReadOnly="True" HorizontalAlignment="Left" Width="705"
PreviewKeyDown="DG_ConfigWindow_KeyDown" SelectionMode="Single" CanUserSortColumns="False" CanUserReorderColumns="False">
<DataGrid.Resources>
<Style TargetType="DataGridCell">
<EventSetter Event="MouseEnter" Handler="DG_ConfigWindow_MouseEnter"/>
<Setter Property="ToolTip" Value="{Binding Path=TooltipText, UpdateSourceTrigger=PropertyChanged, Mode=OneWay}"/>
</Style>
</DataGrid.Resources>
</DataGrid>
代码:
private string _TooltipText;
public string TooltipText
{
get { return _TooltipText; }
set
{
_TooltipText = value;
NotifyPropertyChanged();
}
}
private void DG_ConfigWindow_MouseEnter(object sender, MouseEventArgs e)
{
TooltipText = "test";
}
INotifyPropertyChanged:
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
我的类定义如下:
public partial class ConfigWindow : Window, INotifyPropertyChanged
{ ... }
int columnIdx = dgc.Column.DisplayIndex;
感谢您的帮助! - Alex