DataGrid всплывающее окно, когда мышь над определенными ячейками - PullRequest
0 голосов
/ 20 декабря 2011

У меня есть Datagrid с, скажем, 5 столбцами, названными следующим образом

RowID, Название, Возраст, Рост, Изображение

То, что я хочу сделать, это когда мышь находится над ячейкой в ​​столбце изображения, если там есть изображение, я хочу, чтобы появилось всплывающее окно. Я знаю, что могу просто использовать всплывающую подсказку для всплывающего окна, но лучший способ сделать это - навести указатель мыши на ячейку, и если в ячейке есть изображение, если это так, то отобразить всплывающее окно.

РЕДАКТИРОВАТЬ: - Добавлен код для столбца 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> 

Ответы [ 2 ]

1 голос
/ 20 декабря 2011

Вы можете использовать свойство 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>
0 голосов
/ 20 декабря 2011

Есть несколько способов. Я бы порекомендовал создать тип / стиль столбца Template и реализовать его в качестве триггера, когда мышь находится внутри ячейки.

...