0

ToolTipDataTemplate内のプロパティにバインドする次のコードがあります。

<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プロパティ値を期待しているため、これは望ましい効果ではありません。ツールチップ内でデータテンプレートを使用しない場合、正しい値を取得します。使用法の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 に答える