Jus*_*tin 5 wpf xaml exception
我得到一个非常奇怪的例外.我得到了例外:
"'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'."
我已将此异常的原因缩小到MenuItem包含在此的TreeViewItem样式中TreeView:
<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>
Run Code Online (Sandbox Code Playgroud)
仅当MenuItem具有单击事件处理程序时才会发生异常,即使单击事件处理程序不包含任何代码也会抛出该异常.
Fre*_*lad 16
我得到了和你一样的例外.仔细观察代码之后,感觉就像你会得到的情况
"无法在样式中的Target标记上指定事件'Click'.请改用EventSetter."
我不确定为什么这不适用于此.
无论如何,使用EventSetter工作
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu>
<MenuItem Name="AddProjectElementMenuItem" Header="Add">
<MenuItem.Style>
<Style TargetType="MenuItem">
<EventSetter Event="Click" Handler="AddProjectElementMenuItem_Click"/>
</Style>
</MenuItem.Style>
</MenuItem>
</ContextMenu>
</Setter.Value>
</Setter>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3119 次 |
| 最近记录: |