2016-11-08 30 views
0

我得到这个运行时错误:处理ToolTipOpening导致无效转换到System.Windows.Controls.Label

无法转换类型“System.Windows.Controls.ToolTip”键入System.Windows.Controls.Label的对象。我明白这意味着什么,但我不确定它为什么会发生。

当我将鼠标移到treeviewitem上。我想要的是在TreeView项目上运行方法的ToolTipOpening。这是XAML。我没有这个基础,就这个主题:

TreeViewItem Tooltip Binding Not Working

这不是我的问题相当,但它并告诉我至少如何设置提示上一个TreeView项:

<TreeView x:Name="ISLTreeView" Height="auto" Background="GhostWhite" 
         BorderThickness="0" Width="auto" 
         ItemsSource="{Binding}" 
         ScrollViewer.VerticalScrollBarVisibility="auto"> 

       <TreeView.ItemContainerStyle> 
        <Style TargetType="{x:Type TreeViewItem}"> 
         <Setter Property="IsExpanded" 
          Value="{Binding IsExpanded, Mode=TwoWay}" /> 
         <Setter Property="ToolTip"> 
          <Setter.Value> 
           <ToolTip 
             ToolTipOpening="ISL_TreeViewTipOpening"> 
           </ToolTip> 
          </Setter.Value> 
         </Setter> 
         <Style.Triggers> 
          <Trigger Property="IsSelected" Value="True"> 
           <Setter Property="FontWeight" Value="Bold" /> 
          </Trigger> 

         </Style.Triggers> 
        </Style> 
       </TreeView.ItemContainerStyle> 

      </TreeView> 

这里是方法,其中没有太多。

private void ISL_TreeViewTipOpening(object sender, ToolTipEventArgs e) 
    { 
     TreeListViewItem tvi = sender as TreeListViewItem; 

    } 

编辑补充限定标签和另一树状

<Label x:Name="NeighborLabel" Content="Neighbors List"></Label> 
      <TreeView x:Name="NeighborsTreeView" Height="Auto" 
         Background="GhostWhite" BorderThickness="0" Width="auto" 
         ItemsSource="{Binding}" 
         ScrollViewer.VerticalScrollBarVisibility="auto"> 

      </TreeView> 
+0

你确定例外来自这个xaml吗? –

+0

是的。在设置ToolTipOpening的行上发生异常,并且是带有'SetConnectionID引发异常'的消息的XAMLParseException。 –

+0

不知道这应该是在一个评论或答案,但我发现这个线程在stackoverflow:http://stackoverflow.com/questions/6970706/xamlparseexception-on-window-launch哪些指示我看.gi cs文件为我的窗口类,我发现这个: –

回答

0

据对codeproject.com的描述中,TreeListViewItem类从ListViewItem的继承下一XAML代码。您的发件人参数是一个TreeViewItem。也许你打算投入来键入TreeViewItem。

+0

它永远不会那么远。 ISLTreeView是窗口的一部分。在窗口初始化期间抛出异常 - 窗口永远不会打开。如果需要,我可以发布所有XAML。 –

0

我发现ToolTipOpening无法附加到TreeViewItem。它被附加到标签上,因为这是编译器发现该事件可能附加到的第一个Control,然后我得到了无效的转换。当我将一个TextBox添加到treeivew项目并将事件处理程序添加到它时,ToolTipOpening事件得到正确处理而无异常。