2011-10-13 44 views
5

Tôi muốn có chức năng sau: Tôi có biểu đồ dữ liệu và khi tôi di chuyển con trỏ qua ô, tôi sẽ hiển thị màn hình bật lên với thông tin. Khi con chuột của tôi rời khỏi ô, rõ ràng là tôi muốn cửa sổ bật lên biến mất. Tôi hy vọng tôi có thể làm điều này chỉ trong mã XAML.WPF hiển thị cửa sổ bật lên trên ô DataGrid MouseOver

Đây là cửa sổ bật lên của tôi trong 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> 

Như bạn có thể thấy, cửa sổ bật lên cho thấy một điều khiển người sử dụng tôi thực hiện. Đây là dữ liệu của tôi:

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

Tôi đọc một số nội dung về trình kích hoạt và nội dung để hiển thị cửa sổ bật lên, nhưng tôi không biết cách triển khai nó trên ô dữ liệu. Cửa sổ bật lên sẽ hiển thị trên mọi ô. Thông tin được hiển thị trên cửa sổ bật lên tùy thuộc vào ô di chuột.

Có ai biết cách thực hiện việc này trong XAML không?

Trả lời

7

Bạn nói ....

khi tôi đi với con trỏ chuột của tôi trên một tế bào, tôi sẽ chương trình của tôi để hiển thị một màn hình popup với thông tin. Khi con chuột của tôi rời khỏi ô, rõ ràng là tôi muốn cửa sổ bật lên biến mất.

Tôi đoán thậm chí là DataGridCell.ToolTip cũng đủ trong trường hợp đó. Tooltips có thể hiển thị bất kỳ loại nội dung .... Xem fancy tooltip hướng dẫn này ...

Và để thiết lập tooltip cho tất cả các tế bào DataGrid ... sử dụng mã này ...

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

Hy vọng rằng sẽ giúp,

+0

Cảm ơn! Tôi là kinda mới để WPF vì vậy tôi không biết một ToolTip có thể giữ bất kỳ loại nội dung. Đây chính xác là những gì tôi cần và có vẻ dễ dàng hơn khi làm việc với trình kích hoạt và cửa sổ bật lên. –

Các vấn đề liên quan