2012-10-26 76 views
0

我有以下代碼,其結合性質的工具提示的DataTemplate內:DataTemplating綁定不正確

<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」,這是不希望的效果,因爲我期待顏色屬性值。 如果我不在工具提示中使用數據模板,那麼我會得到正確的值,我假設我的用法DataTemplate不正確。

回答

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}"> 
0

沒有必要的DataTemplate,只需使用以下命令:

<ToolTip> 
    <TextBlock Text="{Binding Path=Colour}"/> 
</ToolTip> 
+0

我也這麼認爲,但如果我想能夠重用該工具提示作爲資源,我該如何解決這個問題? – Rubans