2011-12-20 15 views
0

我有一個DataGrid有說5列命名如下DataGrid的彈出框,當鼠標移到某個細胞

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

回答

1

您可以使用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

作品感謝你 – Gazlar 2011-12-20 17:12:52

0

有一對夫婦的方式。我建議的是創建一個模板列類型/樣式,並在鼠標位於單元格內時將其實施爲觸發器。

+0

列已被創建爲模板列。我如何做鼠標懸停的觸發器部分?某些單元格可能沒有圖像,因此必須先檢查。我已經編輯了第一篇文章來顯示列的xaml。 – Gazlar 2011-12-20 16:05:09

相關問題