WPF ContextMenu问题
请问这段代码问题在哪里? (对不住,只有30分了,不知道怎么弄分)<ListBox Name="UsualAlarmDescriptionList" Width="400" MaxHeight="150" MinHeight="60">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu>
<MenuItem Header="删除" Click="MenuItemRemoveUsualAlarmDescription_Click"/>
</ContextMenu>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
报这个错误:
设置 connectionId时引发了异常。....无法将类型为“System.Windows.Controls.MenuItem”的对象强制转换为类型“System.Windows.Controls.StackPanel” --------------------编程问答-------------------- 后台方法 MenuItemRemoveUsualAlarmDescription_Click 中的对象类型是StackPanel,但是前台是MenuItem,强制类型转换肯定会出问题 --------------------编程问答-------------------- 我也遇到了。。。可以用后台给MenuItem设置Click事件来解决问题 例如
<Style TargetType="{x:Type DataGridCell}" x:Key="cell">
<Setter Property="ContextMenu" >
<Setter.Value>
<ContextMenu Focusable="False" >
<MenuItem Header="确认" Focusable="False" />
</ContextMenu>
</Setter.Value>
</Setter>
</Style>
单独写一个Style,然后在后台写如下代码即可
--------------------编程问答-------------------- 使用命令岂不是更佳 为什么要用时间呢? --------------------编程问答-------------------- 事件 不好意思 打错了
Style menu = this.FindResource("cell") as Style;
(((menu.Setters[0] as Setter).Value as ContextMenu).Items[0] as MenuItem).Click += MenuItem_Click;
补充:.NET技术 , C#