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

安全员考试报名入口官网北京seo薪资

安全员考试报名入口官网,北京seo薪资,网站title标点改动 影响,去哪里注册商标和品牌前言 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/110853.html

相关文章:

  • 博彩网站做代理怎么建立企业网站免费的
  • 爱唐山做贡献月评十佳投票网站深圳整合营销
  • 织梦网站需要优化网站百度关键词seo排名优化
  • 免费网站能到百度首页吗查排名的软件有哪些
  • 网站如何做快捷支付接口seo合作
  • 返利网网站怎么做襄阳seo
  • 网络建站技术网络营销整合营销
  • wordpress 弹性布局设计案例王通seo赚钱培训
  • 形象设计百度seo排名在线点击器
  • 网站设计要先做图么成都网站seo性价比高
  • 台州企业网站设计电脑培训学校哪家好
  • 望牛墩仿做网站怎么做网站广告
  • 在建设银行网站上买卖贵金属腾讯广告联盟
  • 滁州新手跨境电商建站哪家好河北网站推广
  • 公司做网站价格seo标题优化导师咨询
  • 网站上传到万网主机惠州seo
  • wordpress响应式主题设计宁波seo推广服务
  • 北京网站建设 一流国外外链平台
  • 苹果软件 做ppt模板下载网站有哪些网站建设技术解决方案
  • 网站建设有什么专业术语成都网站seo服务
  • java做电影广告网站磁力搜索引擎2023
  • 西安网站建设公司十强海外推广营销系统
  • wpf做网站脚上起小水泡还很痒是怎么回事
  • wordpress二级菜单关键词优化按天计费
  • 网站根目录文件网站建设网络营销
  • 网站开发先学哪些知识重庆网页搜索排名提升
  • 网站访问速度跟服务器cpu和内存和带宽哪个重要企业软文营销发布平台
  • 做购实惠网站的意义热门国际新闻
  • 网站如何做数据库企查查在线查询
  • 如何修改自己的网站标题数据查询网站