
WPF
根据开发案例,介绍常用的绑定、命令、路由等概念。
平底锅锅锅
走过路过不要错过
展开
-
WPF ValidationRule
简介: ValidationRule提供检查输入的有效性。可用于数据校验,错误提示。例如检查TextBox控件输入的数值。介绍:ValidationResult 如果值无效,则返回的ErrorContent属性和IsValid属性将ValidationResult分别设置为相应的错误消息false。 ValidatesOnTargetUpdated 获取或设置一个值,该值指示当Binding的目标更新时是否运行验证规则。 N...原创 2020-09-21 11:33:17 · 666 阅读 · 0 评论 -
WPF ListBox
简介:包含可选项列表。介绍:属性 DisplayMemberPath 获取或设置源对象上的值的路径,以用作列表的显示。 SelectedValuePath 获取或设置用于从SelectedValue取SelectedItem的路径。 事件 SelectionChanged 当Selector的选择更改时发生。即列表的选择更改。 使用: public class PersonNP : INotifyPropert...原创 2020-09-09 17:32:07 · 524 阅读 · 0 评论 -
WPF ObservableCollection<T>
简介: ObservableCollection<T>表示一个动态数据集合,它可在添加、删除项目或刷新整个列表时提供通知。介绍:该类是实现接口的数据集合的内置实现INotifyCollectionChanged。[System.Serializable]public class ObservableCollection<T> : System.Collections.ObjectModel.Collection<T>,...原创 2020-09-09 17:32:41 · 2976 阅读 · 4 评论 -
WPF x:Code
简介: 可以把后台代码放到前台XAML里,但不建议这么做。使用: <TextBlock MouseEnter="TextBlock_MouseEnter"> <x:Code> <![CDATA[ private void TextBlock_MouseEnter(object sender, MouseEvent...原创 2020-09-09 17:34:22 · 543 阅读 · 0 评论 -
WPF x:Array
简介: X:Array 标记扩展,通过标记扩展为 XAML 中的对象数组提供常规支持。介绍:语法<x:Array Type="typeName"> arrayContents</x:Array>typeName 将x:Array包含的类型的名称。typeName对于包含 XAML 类型定义的 XAML 命名空间,可能(而且通常是)预固定。 arrayContents 分配给内部ArrayExtension.Items...原创 2020-09-07 17:27:29 · 1362 阅读 · 0 评论 -
WPF TypeConverter
简介: TypeConverter提供一种将值的类型转换为其他类型以及访问标准值和子属性的统一方法。另一种转换参考如下链接:IValueConverter 。介绍: IValueConverter 用于数据绑定的转换 TypeConverter 用于类属性的转换 使用:Human类转换为string类型 [TypeConverter(typeof(HumanTypeConvert))] public...原创 2020-09-07 11:02:29 · 803 阅读 · 0 评论 -
WPF ListBox选中项样式更改
public class PersonNP : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; private string name; public string Name { get { return name; } set { name = value; No..原创 2020-08-27 17:39:19 · 3353 阅读 · 0 评论 -
WPF Template
简介: 控件本身就是模板的组合。如果需要灵活发挥控件的功能,加入模板。例如ListBox控件的内容和格式。介绍: System.Windows.DataTemplate 数据模板 System.Windows.Controls.ControlTemplate 控件模板 System.Windows.Controls.ItemsPanelTemplate 布局模板 public class PersonNP : INo...原创 2020-08-27 10:12:10 · 435 阅读 · 0 评论 -
WPF DependencyObject
简介: DependencyObject类表示参与依赖属性系统的对象。属性系统的主要功能是计算属性的值,并提供有关已更改的值的系统通知。参与属性系统的另一个类DependencyProperty。DependencyProperty允许将依赖属性注册到属性系统,并提供有关每个依赖属性的标识和信息,而DependencyObject为基类,使对象能够使用此依赖属性。 INotifyPropertyChanged类用于通知UI刷新,注重的仅仅是数据更新后...原创 2020-08-25 14:04:00 · 4179 阅读 · 0 评论 -
WPF DataContext
简介: 获取或设置元素参与数据绑定时的数据上下文。数据上下文是一种概念,允许元素从父元素继承有关用于绑定的数据源以及绑定的其他特征(如路径)的信息。此依赖属性继承属性值。如果有子元素没有通过本地值或样式建立的DataContext的其他值,则属性系统会将该值设置为已分配此值的最近父元素的DataContext值。 在 XAML 中,DataContext通常设置为Binding声明。可以使用属性元素语法或特性语法。还可以使用代码设置DataConte...原创 2020-08-25 10:57:53 · 8779 阅读 · 5 评论 -
WPF 命令库
简介:WPF提供一组预定义命令。命令库包括以下类:ApplicationCommands、NavigationCommands、MediaCommands、EditingCommands和ComponentCommands。这些类提供诸如Cut、BrowseBack、BrowseForward、Play、Stop和Pause的命令。许多这些命令都包含一组默认输入绑定。例如,如果指定应用程序处理 "复制" 命令,则会自动获取键盘绑定 "CTRL + C"。还会获取其他输入设备的绑定...原创 2020-08-24 10:56:38 · 1019 阅读 · 0 评论 -
WPF CommandTarget
简介: CommandTarget可以修改Command传入的sender。使用:把传入的Button对象改为TextBox public void command_Execute(object sender, ExecutedRoutedEventArgs e) { MessageBox.Show(e.Source.ToString()); e.Handled = true; ...原创 2020-08-21 15:49:50 · 1855 阅读 · 1 评论 -
WPF IValueConverter
简介: 实现IValueConverter接口,可以根据实际需要转换数据的类型。使用:把bool转换成Visibility类型。 public class ValueConvert : IValueConverter { // // 摘要: // 转换值。 // // 参数: // value: // 绑定源生成的值。 ...原创 2020-08-21 14:58:50 · 670 阅读 · 0 评论 -
WPF 自定义命令
简介: 自定义命令,有如下三种方式。介绍:ICommand 自定义类实现其接口。基础的用法。 RoutedUICommand 实例化RoutedUICommand。可关联快捷键。 Mvvm Light 引用Mvvm Light。封装命令,使用方便。 使用:1.ICommand1.实现ICommand借口。2.新建对应的ViewModel类,作为DataContent。亦可省略对应的ViewModel类。1.1 常规用法...原创 2020-08-20 14:55:39 · 918 阅读 · 0 评论 -
WPF INotifyPropertyChanged
简介: 获取或设置控件元素的数值,需要INotifyPropertyChanged接口。自定义一个实现了INotifyPropertyChanged接口的类。这个接口是为了发出属性更改的通知,即实现了这个接口将会实现当源对象的公共属性发生改变时,该属性的值会立即响应到界面上显式,或者获取界面的数据。介绍:Source 指向源对象的引用,即提供数据的对象。一般都是指定的。 RelativeSource 使用RelativeSource对象指定绑定源的相对位置,默认...原创 2020-08-19 15:34:10 · 1504 阅读 · 0 评论 -
WPF Slider与TextBox绑定
简介: Slider与TextBox的数值绑定,可以在Slider绑定,亦可在TextBox绑定。使用1.TextBox绑定,注意UpdateSourceTrigger=PropertyChanged,Mode=TwoWay。 <Slider x:Name="slider" Maximum="100" IsSnapToTickEnabled="True" ></Slider> <...原创 2020-08-18 14:55:45 · 2128 阅读 · 0 评论 -
WPF 路由事件
简介: 路由事件有三种方式。Direct Event 直接路由事件。自身元素,不传递。 Bubbling Event 冒泡路由事件。从子元素到父元素传递。 Tunneling Event 隧道路由事件。从父元素到子元素传递。 注意1.设置Handled = true的时候,不管是冒泡还是隧道事件,它还是会继续传播的,只是对应的事件不会再处理了。可以通过AddHandler方法进行注册,再次触发事件。2.因为隧道路由事件...原创 2020-08-18 10:38:03 · 260 阅读 · 0 评论