【发布时间】:2011-05-27 23:41:58
【问题描述】:
我遇到了一个非常奇怪的异常。 我得到了例外:
"'Set connectionId threw an exception.' Line number '26' and line position '34'."
当我查看内部异常时,我得到:
"Unable to cast object of type 'System.Windows.Controls.MenuItem' to type 'System.Windows.Controls.ListBox'."
我已将异常原因缩小到此TreeView 中包含的TreeViewItem 样式中的MenuItem:
<TreeView x:Name="ProjectElementTreeView" ItemsSource="{Binding ProjectElementCollection}" DisplayMemberPath="Name" Padding="0" SelectedItemChanged="ProjectElementTreeView_SelectedItemChanged" GotKeyboardFocus="ProjectElementTreeView_GotKeyboardFocus">
<TreeView.Resources>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu>
<MenuItem Name="AddProjectElementMenuItem" Header="Add" Click="AddProjectElementMenuItem_Click"/>
</ContextMenu>
</Setter.Value>
</Setter>
</Style>
</TreeView.Resources>
</TreeView>
该异常仅在MenuItem 有点击事件处理程序时发生,即使点击事件处理程序不包含任何代码也会引发。
【问题讨论】:
-
哇,这真的很奇怪......
-
发布的代码对我来说效果很好,所以我认为您的问题出在另一段代码中。什么尝试设置 ConnectionId?