【发布时间】:2018-05-10 18:44:27
【问题描述】:
我根本没有在 Silverlight 上工作过,并且一直陷入对在 Silverlight 上运行的某些应用程序的要求之一。
要求: 我想在我的网格上显示工具提示,它在列下方并且悬停在 ID 列上,我想根据该行的 ID 分别显示每一行的工具提示。
我有下面的数据网格代码:
<UserControl xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"
x:Class="MYAPP.View.Pages.MyPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows"
xmlns:src="clr-namespace:MYAPP.View"
xmlns:pag="clr-namespace:MYAPP.View.Pages"
xmlns:ctl="clr-namespace:MYAPP.Controls;assembly=MYAPP.Controls"
xmlns:log="clr-namespace:MYAPP.Logic.WCF.Services;assembly=MYAPP.Logic"
xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"
>
<Grid Name="grdMain">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<ctl:FieldHelp x:Name="grdMyGrid" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" Margin="40,10"
ItemsSource="{Binding PendingRequests, Mode=TwoWay}"
DoubleClick="grdMyGrid_DoubleClick"
CurrentCellChanged="grdChildren_CurrentCellChanged"
Visibility="{Binding PendingRequestsDetail, ConverterParameter=false, Converter={StaticResource VisibilityConverter}}"
AutoGenerateColumns="False">
<ctl:FieldHelp.Columns>
<data:DataGridTextColumn Binding="{Binding ID, Mode=TwoWay}" IsReadOnly="True"/>
<data:DataGridTextColumn Binding="{Binding Name, Mode=TwoWay}" IsReadOnly="True"/>
<data:DataGridTextColumn Binding="{Binding Description, Mode=TwoWay}" IsReadOnly="True"/>
<data:DataGridTextColumn Binding="{Binding Date, Mode=TwoWay, Converter={StaticResource ShortDateStringConverter}}" IsReadOnly="True"/>
<data:DataGridCheckBoxColumn Binding="{Binding Process, Mode=TwoWay}" IsReadOnly="False" IsThreeState="False"/>
</ctl:FieldHelp.Columns>
</ctl:FieldHelp>
</Grid>
</UserControl>
我不知道如何满足要求。” 在网上搜索并没有给我正确的解决方案,我最终在工具提示中得到与行单元格相同的 Name 。 Only Get Name in tool-tip
<ctl:FieldHelp x:Name="grdMyGrid" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" Margin="40,10"
ItemsSource="{Binding PendingRequests, Mode=TwoWay}"
DoubleClick="grdMyGrid_DoubleClick"
CurrentCellChanged="grdChildren_CurrentCellChanged"
Visibility="{Binding PendingRequestsDetail, ConverterParameter=false, Converter={StaticResource VisibilityConverter}}"
AutoGenerateColumns="False">
<ctl:FieldHelp.Columns>
<data:DataGridTextColumn Binding="{Binding ID, Mode=TwoWay}" IsReadOnly="True" >
<data:DataGridTextColumn.CellStyle>
<Style TargetType="data:DataGridCell" >
<Setter Property="ToolTipService.ToolTip" Value="{Binding Name}" />
</Setter>
</Style>
</data:DataGridTextColumn.CellStyle>
</data:DataGridTextColumn>
<data:DataGridTextColumn Binding="{Binding Name, Mode=TwoWay}" IsReadOnly="True"/>
<data:DataGridTextColumn Binding="{Binding RelativeName, Mode=TwoWay}" IsReadOnly="True"/>
<data:DataGridTextColumn Binding="{Binding ID, Mode=TwoWay}" IsReadOnly="True"/>
<data:DataGridTextColumn Binding="{Binding Name, Mode=TwoWay}" IsReadOnly="True"/>
<data:DataGridTextColumn Binding="{Binding Description, Mode=TwoWay}" IsReadOnly="True"/>
<data:DataGridTextColumn Binding="{Binding Date, Mode=TwoWay, Converter={StaticResource ShortDateStringConverter}}" IsReadOnly="True"/>
<data:DataGridCheckBoxColumn Binding="{Binding Process, Mode=TwoWay}" IsReadOnly="False" IsThreeState="False"/>
</ctl:FieldHelp.Columns>
</ctl:FieldHelp>
</Grid>
</UserControl>
但我想动态绑定根据我悬停的记录 ID 显示数据的工具提示。
【问题讨论】:
标签: wpf silverlight tooltip