2011-10-13 33 views
5

Me gustaría la siguiente funcionalidad: Tengo una cuadrícula de datos, y cuando voy con el puntero del mouse sobre una celda, mi programa muestra una pantalla emergente con información. Cuando mi mouse sale de la celda, obviamente quiero que desaparezca la ventana emergente. Espero poder hacer esto solo en código XAML.Ventana emergente de WPF en la celda DataGrid MouseOver

Esta es mi emergente en XAML:

<Popup x:Name="_popup_agreementDetails" Placement="Center" AllowsTransparency="True" 
       HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Column="2" Margin="46,333,102,172" Grid.Row="2" IsOpen="{Binding IsChecked, ElementName=button}"> 
    <my:UC1001_AgreementDetails_View Background="#FFF" Opacity="0.88" /> 
</Popup> 

Como se puede ver, la ventana emergente muestra un control de usuario que hice. Este es mi datagrid:

<DataGrid x:Name="employeeGrid" Height="250" Margin="25,0,10,0" ColumnHeaderStyle="{DynamicResource CustomColumnHeader}"> 
    <DataGrid.Columns> 
     <DataGridTextColumn Header="Naam" Width="150"/> 
     <DataGridTextColumn Header="Januari" Width="*"/> 
     <DataGridTextColumn Header="Februari" Width="*"/> 
     <DataGridTextColumn Header="Maart" Width="*"/> 
     <DataGridTextColumn Header="April" Width="*"/> 
     <DataGridTextColumn Header="Mei" Width="*"/> 
     <DataGridTextColumn Header="Juni" Width="*"/> 
     <DataGridTextColumn Header="Juli" Width="*"/> 
     <DataGridTextColumn Header="Augustus" Width="*"/> 
     <DataGridTextColumn Header="September" Width="*"/> 
     <DataGridTextColumn Header="Oktober" Width="*"/> 
     <DataGridTextColumn Header="November" Width="*"/> 
     <DataGridTextColumn Header="December" Width="*"/> 
    </DataGrid.Columns> 
</DataGrid> 

leí algunas cosas acerca de los factores desencadenantes y cosas para mostrar la ventana emergente, pero no sé cómo ponerlo en práctica en una celda de cuadrícula de datos. La ventana emergente debería aparecer en cada celda. La información que se muestra en la ventana emergente depende de la celda suspendida.

¿Alguien sabe cómo hacer esto en XAML?

Respuesta

7

Dijiste ....

cuando voy con mi puntero del ratón sobre una celda, me gustaría que mi programa para mostrará una pantalla emergente con información. Cuando mi mouse sale de la celda, obviamente quiero que desaparezca la ventana emergente.

Supongo que incluso un DataGridCell.ToolTip debería bastar también en ese caso. La información sobre herramientas pueden mostrar cualquier tipo de contenido .... Ver este tutorial fancy tooltip ...

Y sobre herramientas para el ajuste a todas las células datagrid ... utilizar este código ...

<DataGrid ... > 
     <DataGrid.CellStyle> 
      <Style> 
      <Setter Property="DataGridCell.ToolTip"> 
       <Setter.Value> 
        <my:UC1001_AgreementDetails_View 
          Background="#FFF" 
          Opacity="0.88" /> 
       </Setter.Value> 
       </Setter> 
      </Style> 
     </DataGrid.CellStyle> 
     ... 
    </DataGrid> 

Espero que ayude,

+0

Gracias! Soy un poco nuevo en WPF, así que no sabía que una información sobre herramientas pudiera contener ningún tipo de contenido. Esto es exactamente lo que necesito y parece más fácil que trabajar con activadores y ventanas emergentes. –

Cuestiones relacionadas