C# 当鼠标悬停在某些单元格上时,数据网格弹出框
我有一个Datagrid,有5列,命名如下 罗维德, 名称 年龄, 高度, 形象 我想做的是当鼠标在图像列中的一个单元格上时,如果有图像,我希望出现一个弹出框。我知道我可以使用工具提示弹出窗口,但检查的最佳方法是将鼠标放在单元格上,单元格是否有图像,如果有,则显示弹出窗口 编辑:-为图像列的DataGrid列添加了代码C# 当鼠标悬停在某些单元格上时,数据网格弹出框,c#,wpf,wpfdatagrid,C#,Wpf,Wpfdatagrid,我有一个Datagrid,有5列,命名如下 罗维德, 名称 年龄, 高度, 形象 我想做的是当鼠标在图像列中的一个单元格上时,如果有图像,我希望出现一个弹出框。我知道我可以使用工具提示弹出窗口,但检查的最佳方法是将鼠标放在单元格上,单元格是否有图像,如果有,则显示弹出窗口 编辑:-为图像列的DataGrid列添加了代码 <DataGridTemplateColumn Header="Image"> <DataGridTem
<DataGridTemplateColumn Header="Image">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Width="32" Height="32" HorizontalAlignment="Center" VerticalAlignment="Center"
Source="{Binding IMG, Converter={StaticResource ImageConvert}}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
有两种方法。我建议您创建一个模板列类型/样式,并在鼠标位于单元格内时将其作为触发器来实现。您可以使用IsMouseOver
属性来确定鼠标是否位于对象上,并使用MultiDataTrigger
来计算多个条件
<Style TargetType="Image">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="True" />
<Condition Binding="{Binding IMG, Converter={StaticResource IsImageNullConverter}}" Value="False" />
</MultiDataTrigger.Conditions>
<Setter Property="ToolTip">
<Setter.Value>
<!-- Your ToolTip here -->
</Setter.Value>
</Setter>
</MultiDataTrigger>
</Style.Triggers>
</Style>
列已创建为模板列。如何在单元格上执行鼠标触发部分?。某些单元格可能没有图像,因此必须先进行检查。我编辑了第一篇文章以显示该专栏的xaml。