WPF中添加Event

1. ListBox中添加Event

<ListBox x:Name="itemsControl"  BorderThickness="0" ContextMenuService.IsEnabled="{Binding IsContextMenuOpen,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
Focusable="True"
ItemsSource="{Binding MyCollection}"
Style="{StaticResource EquipmentListStyle}" HorizontalAlignment="Stretch"
Background="WhiteSmoke" SelectionMode="Single"
PreviewMouseLeftButtonDown="itemsControl_PreviewMouseLeftButtonDown"
ContextMenuOpening="itemsControl_ContextMenuOpening">
<ListBox.Resources>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="VerticalContentAlignment" Value="Top"/>
<Setter Property="Focusable" Value="True"></Setter>
<Setter Property="ContextMenu" Value="{StaticResource PanelContextMenu}"/>
<EventSetter Event="LostFocus" Handler="ListBoxItem_LostFocus"/>
<EventSetter Event="LostKeyboardFocus" Handler="ListBoxItem_LostKeyboardFocus"/>
</Style>
</ListBox.Resources>
</ListBox>

 code behind 代码

private void ListBoxItem_LostFocus(object sender, RoutedEventArgs e)
{
//((SolidColorBrush)(sender as ListBoxItem).Resources["SelectionColorKey"]).Color = Colors.Transparent;
} private void ListBoxItem_LostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
{
//ListBoxItem lbi = sender as ListBoxItem;
//if (lbi != null)
//{
// ((SolidColorBrush)lbi.Resources["SelectionColorKey"]).Color = Colors.Transparent;
//}
//((SolidColorBrush)(sender as ListBoxItem).Resources["SelectionColorKey"]).Color = Colors.Transparent;
}

显示Menu

<ContextMenu x:Key="MyContextMenu" StaysOpen="False" Opened="MyContextMenu_Opened">
<MenuItem x:Name="menuItemEdit" Header="Edit"
Click="ContextMenu_Edit_Click">
</MenuItem>
<MenuItem x:Name="menuItemTest" Header="Test"
Click="ContextMenu_Test_Click">
</MenuItem> </ContextMenu>

Menu event code behind

private void ContextMenu_Edit_Click(object sender, RoutedEventArgs e)
{
}

  

WPF - EventSetter的更多相关文章

  1. WPF EventSetter Handler Command

    最近做一个工具,突然发现ListBox和ListView等列表控件的MouseDoubleClick事件有时候是获取不到当前双击的行对象数据的,比如这样写: <ListBox Grid.Row= ...

  2. WPF Datagrid对鼠标单击进行响应,借助EventSetter

    在做的一个c#的项目中发现Datagrid没办法直接对鼠标单击进行响应, 调用MouseDown事件也需要点击某一行第二次才能响应. 所以借助EventSetter来简单的实现了一个. 界面部分的代码 ...

  3. WPF,Silverlight与XAML读书笔记第四十四 - 外观效果之样式

    说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 如果你有Web编程的经验,你会知道使用Sty ...

  4. WPF自定义控件与样式(9)-树控件TreeView与菜单Menu-ContextMenu

    一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: 菜单M ...

  5. WPF Step By Step -基础知识介绍

    回顾 上一篇我们介绍了WPF基本的知识.并且介绍了WPF与winform传统的cs桌面应用编程模式上的变化,这篇,我们将会对WPF的一些基础的知识做一个简单的介绍,关于这些基础知识更深入的应用则在后续 ...

  6. WPF学习系列之七 (样式与行为)

    样式(Styles)是组织和重用格式化选项的重要工具.不是使用重复的标记填充XAML,以设置诸如边距.颜色及字体等细节,而可以创建一系列封装所有这些细节的样式.然后可以在需要之处通过一个属性应用样式. ...

  7. WPF视频教程系列笔记

    视频二:XAML基础 1.顶级元素 <Window></Window>,<Page></Page>,<Application></Ap ...

  8. WPF 带CheckBox、图标的TreeView

    WPF 带CheckBox.图标的TreeView 在WPF实际项目开发的时候,经常会用到带CheckBox的TreeView,虽然微软在WPF的TreeView中没有提供该功能,但是微软在WPF中提 ...

  9. WPF样式资源文件简单运用

    WPF通过资源来保存一些可以被重复利用的样式,下面的示例展示了简单的资源样式文件的使用: 一.xaml中定义资源及简单的引用 <Window.Resources > <!--wpf窗 ...

随机推荐

  1. Chain of Responsibility 责任链模式

    简介 责任链模式是一种对象的行为模式.在责任链模式里,很多对象由每一个对象对其[下家]的引用而连接起来形成一条链,请求在这个链上[传递],直到链上的某一个对象决定处理此请求.发出这个请求的客户端并不知 ...

  2. dns-prefetch—DNS预解析技术

    今天在看一个网站的源代码时 发现了 <link rel="dns-prefetch" href="//static.tuweia.cn/"> 对dn ...

  3. TSQL Challenge 2

    和之前发布的TSQL Challenge 1是同一系列的文章,看到那篇学习哪篇,没有固定的顺序,只为锻炼下思维. Compare rows in the same table and group th ...

  4. spring web flow 2.0入门(转)

    Spring Web Flow 2.0 入门 一.Spring Web Flow 入门demo(一)简单页面跳转 附源码(转) 二.Spring Web Flow 入门demo(二)与业务结合 附源码 ...

  5. thinkphp 邮件发送

    最近项目上要求,要做个邮件发送的功能,因为用到的框架是ThinkPHP,于是就自己整理一下. 引入class.phpmailer.php,大家可以去这个链接去下载: http://pan.baidu. ...

  6. 将对象保存至文件——CArchive

    CArchive允许以一个二进制的形式保存一个对象的复杂网络,也可以再次装载它们,在内存中重新构造,这一过程叫作串行化/序列化(Serialization),简单的说,CArchive与CFile配合 ...

  7. jquery easy ui 学习 (9)Pagination in TreeGrid 分页

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. Delphi-Concat 函数

    函数名称 Concat 所在单元 System 函数原型 function Concat ( const String1 {,String2 ...} : string ) : string; 函数功 ...

  9. 探究Android SQLite3多线程

    最近做项目时在多线程读写数据库时抛出了异常,这自然是我对SQlite3有理解不到位的地方,所以事后仔细探究了一番. 关于getWriteableDataBase()和getReadableDataba ...

  10. 蟠桃记 AC 杭电

    蟠桃记 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...