Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当鼠标悬停在某些单元格上时,数据网格弹出框_C#_Wpf_Wpfdatagrid - Fatal编程技术网

C# 当鼠标悬停在某些单元格上时,数据网格弹出框

C# 当鼠标悬停在某些单元格上时,数据网格弹出框,c#,wpf,wpfdatagrid,C#,Wpf,Wpfdatagrid,我有一个Datagrid,有5列,命名如下 罗维德, 名称 年龄, 高度, 形象 我想做的是当鼠标在图像列中的一个单元格上时,如果有图像,我希望出现一个弹出框。我知道我可以使用工具提示弹出窗口,但检查的最佳方法是将鼠标放在单元格上,单元格是否有图像,如果有,则显示弹出窗口 编辑:-为图像列的DataGrid列添加了代码 <DataGridTemplateColumn Header="Image"> <DataGridTem

我有一个Datagrid,有5列,命名如下

罗维德, 名称 年龄, 高度, 形象

我想做的是当鼠标在图像列中的一个单元格上时,如果有图像,我希望出现一个弹出框。我知道我可以使用工具提示弹出窗口,但检查的最佳方法是将鼠标放在单元格上,单元格是否有图像,如果有,则显示弹出窗口

编辑:-为图像列的DataGrid列添加了代码

<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。