当前位置: 首页 > wzjs >正文

加强二级网站建设 招生重庆seo小潘大神

加强二级网站建设 招生,重庆seo小潘大神,静安西安网站建设,郴州新网招聘信息招聘频道前言 C#WPF之命令绑定 内容 有些控件不支持直接绑定命令,可以调用其他依赖实现命令的绑定。 依赖:Microsoft.Xaml.Behaviors.Wpf 使用如下代码可以实现事件的命令绑定,及传递参数: 1、引用:xmlns:behavior“http://sch…

前言

C#WPF之命令绑定

内容

有些控件不支持直接绑定命令,可以调用其他依赖实现命令的绑定。

依赖:Microsoft.Xaml.Behaviors.Wpf

使用如下代码可以实现事件的命令绑定,及传递参数:

1、引用:xmlns:behavior=“http://schemas.microsoft.com/xaml/behaviors”
2、添加命令绑定代码( 如:代码①)
3、创建实现ICommand 的类public class EventsCommand : ICommand(如代码②)
4、创建命令 public ICommand LoadedWindowCommand{ get; set; }
5、初始化命令、并创建方法(如:代码③)

其中代码①写在**.xaml窗体视图中。代码②单独创建类。命令的初始化及方法绑定是创建在视图对应的ViewModel中如代码③。

代码①
<!--绑定上下文-->
<Window.DataContext><viewmodels:MainViewModel/>
</Window.DataContext><!--事件命令绑定-->
<behavior:Interaction.Triggers><!--窗体加载命令绑定--><behavior:EventTrigger EventName="Loaded"><behavior:InvokeCommandAction Command="{Binding LoadedWindowCommand}"   PassEventArgsToCommand="True"/></behavior:EventTrigger><!--窗体关闭命令绑定--><behavior:EventTrigger EventName="Closing"><behavior:InvokeCommandAction Command="{Binding ClosingWindowCommand}" PassEventArgsToCommand="True"/></behavior:EventTrigger>
</behavior:Interaction.Triggers>
代码②
public class EventsCommand<T> : ICommand
{private readonly Action<T> _execute;private readonly Func<T, bool> _canExecute;public EventsCommand(Action<T> execute, Func<T, bool> canExecute = null){_execute = execute ?? throw new ArgumentNullException(nameof(execute));_canExecute = canExecute;}public bool CanExecute(object parameter){return _canExecute?.Invoke((T)parameter) ?? true;}public void Execute(object parameter){_execute((T)parameter);}public event EventHandler CanExecuteChanged{add { CommandManager.RequerySuggested += value; }remove { CommandManager.RequerySuggested -= value; }}
}
代码③
public class MainViewModel:INotifyPropertyChanged
{public ICommand LoadedWindowCommand { get; set; }public ICommand ClosingWindowCommand { get; set; }public MainViewModel(){LoadedWindowCommand = new EventsCommand<object>(OnLoadedWindow);ClosingWindowCommand = new EventsCommand<object>(OnClosingWindow);}private void OnLoadedWindow(object e){}private void OnClosingWindow(object e){}
}

命令绑定例外

描述

有一种情况是控件里面添加控件,次数使用命令绑定传递参数。使用事件时,传递的一般是外层控件对象。

那么如何实现传递里面的对象呢,可以使用如下方法:使用DataContext数据上下文来传递。

<ScrollViewer Background="#AEAEAE" x:Name="RecordScrollViewer"><ListBox ItemsSource="{Binding ChatRecordCollection}" Margin="5"><ListBox.ItemTemplate><DataTemplate><!-- 显示消息内容 --><TextBlock Text="{Binding Data}"  Margin="10,0,0,0"><behavior:Interaction.Triggers><!--鼠标点击命令事件--><behavior:EventTrigger EventName="PreviewMouseDown"><behavior:InvokeCommandActionCommand="{Binding DataContext.ChatRecordMouseDownCommand, RelativeSource={RelativeSource AncestorType=ListBox}}"CommandParameter="{Binding}"PassEventArgsToCommand="True"/></behavior:EventTrigger></behavior:Interaction.Triggers></TextBlock></DataTemplate></ListBox.ItemTemplate></ListBox>
</ScrollViewer>

结语

以上是个人日常学习中学到的一下知识,和理解。

http://www.dtcms.com/wzjs/347140.html

相关文章:

  • 手机网站怎么dw做青岛seo网站管理
  • 淘宝网站代理怎么做百度统计app下载
  • 池州网站建设网站建设网络整合营销方案ppt
  • 网站建设公司 南京seo外包顾问
  • 找人做网站属于诈骗吗中国进入一级战备2023
  • wordpress 安卓主题下载失败海外seo是什么
  • 如何做网站店铺的模板线上职业技能培训平台
  • 广东品牌网站建设代写文案的软件
  • 网站中超链接怎么做淘宝指数查询入口
  • 古田路9号设计网站网站优化推广方法
  • 柳州市网站建设营销型网站建设的公司
  • 网站建设经验分享五年级下册数学优化设计答案
  • 企业网站建设的主要目的是舆情分析系统
  • 建设导航网站百度快速排名用是
  • 搬瓦工可以做网站吗自媒体培训学校
  • 网站构造下拉列表怎么做百度搜图入口
  • 沈阳网站建设公司的公司荆门网站seo
  • 莱芜在线电话seo专业学校
  • dedecms购物网站模板雷神代刷网站推广
  • wordpress 站长统计插件推广形式有哪几种
  • axure可以做网站百度广告多少钱
  • asp商品网站源码苏州首页排名关键词优化
  • 有哪些可以免费做高数题的网站青岛网络优化代理
  • 金数字网站建设怎样搭建自己的网站
  • 做nba直播网站有哪些市场营销说白了就是干什么的
  • 网站建设推广公司哪家权威外贸商城建站
  • 阿里云建站售前咨询惠州seo公司
  • 建立网站大概需要多长时间河北seo基础教程
  • 丰台深圳网站建设公司武汉seo收费
  • 网站开发与设计这么样app下载