0

我有以下代码绑定到工具提示数据模板中的属性:

<Window x:Class="WpfConcepts.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
       xmlns:telerikGrid="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.GridView"
    xmlns:telerikData="clr-namespace:Telerik.Windows.Data;assembly=Telerik.Windows.Data"
    xmlns:telerikGridview="clr-namespace:Telerik.Windows.Controls.GridView;assembly=Telerik.Windows.Controls.GridView"
    xmlns:telerikInput="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Input" Width="200" Height="480">
    <Grid>
        <Grid.ColumnDefinitions>  
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <telerikGrid:RadGridView Grid.Column="0" Grid.Row="0" x:Name="FXRateGridView" ItemsSource="{Binding CarList}" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.VerticalScrollBarVisibility="Visible" ColumnWidth="*" MinColumnWidth="50" AutoGenerateColumns="False">
            <telerikGrid:RadGridView.Columns>
                <telerikGrid:GridViewDataColumn>
                    <telerikGrid:GridViewDataColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Name}">
                                <TextBlock.ToolTip>
                                    <ToolTip>
                                        <DataTemplate>
                                            <StackPanel>
                                                <TextBlock Text="{Binding Path=Colour}"/>
                                            </StackPanel>
                                        </DataTemplate>
                                    </ToolTip>
                                </TextBlock.ToolTip>
                            </TextBlock>
                        </DataTemplate> 
                    </telerikGrid:GridViewDataColumn.CellTemplate>
                </telerikGrid:GridViewDataColumn>
            </telerikGrid:RadGridView.Columns>
        </telerikGrid:RadGridView>
    </Grid>
</Window>

工具提示显示为“System.Window.DataTemplate”,这不是预期的效果,因为我期望的是 Color 属性值。如果我没有在 ToolTip 中使用数据模板,那么我会得到正确的值,我假设我的使用 DataTemplate 不正确。

4

2 回答 2

1

如果您想重用工具提示,请在其中创建一个实例并在Window Resources需要的任何地方使用它,使用StaticResource如下 -

<Window>
....
<Window.Resources>
   <ToolTip x:Key="ColourToolTip">
      <StackPanel>
          <TextBlock Text="{Binding Path=Colour}"/>
      </StackPanel>
   </ToolTip>
</Window.Resources>

像这样在您的模板中使用此资源-

<TextBlock Text="{Binding Name}"
           ToolTip="{StaticResource ColourToolTip}">
于 2012-10-27T12:28:10.023 回答
0

不需要DataTemplate,只需使用以下内容:

<ToolTip>
  <TextBlock Text="{Binding Path=Colour}"/>
</ToolTip>
于 2012-10-27T10:26:03.913 回答