随笔分类 - C#前端
摘要:下面记录几种针对大数据列表控件性能的增强特性,WPF所有继承自ItemsControl的控件(列表控件)都支持这些增强特性,包括ListBox、ComboBox、ListView、TreeView以及DataGrid。 一、虚拟化WPF列表控件所提供的最重要的功能就是UI虚拟化。 UI虚拟化是列表只
阅读全文
摘要:MVVM模式下的命令触发行为 上文中对命令的使用都是直接通过控件中的Command属性来进行绑定的,默认情况下,Command属性所绑定的命令,其触发条件是鼠标的点击。 接下来学习如何使用其他行为来作为命令的触发条件。 一、鼠标输入的命令绑定 LeftClick:单击鼠标左键。 LeftDouble
阅读全文
摘要:1、新建了一个用户控件,里面画了一个实心圆,以及一个文本控件的组合,当作我要实验使用的用户控件(TestUserControl)。 2、在主窗体里面进行引用,可以看到引用以后,会在工具箱上显示新增的用户控件 3、为了测试方便,我直接在先前的Lo'gin页面直接进行添加该用户控件,效果如下。 4、运行
阅读全文
摘要:动画状态-VisualStateManager VisualStateManager控件可以通过VisualState来定义控件的不同动画状态,然后在C#代码中合适地方,使用VisusalStateManager.GoToState()或VisualStateManager.GoToElementS
阅读全文
摘要:1、简单实现①、创建用户控件 跨模块的窗口弹出,只需要创建窗口的内容即可,也就是用户控件,这里是在Views文件夹下,创建DialogContentView用户控件。 需要注意的是,默认情况下,如果需要对弹出窗口进行样式设置的话,需要通过prism:Dialog.WindowStyle来进行设置。
阅读全文
摘要:IOC的依赖注入一、构造函数方式的依赖注入默认情况下Prism框架的项目,在打开窗口时会自动匹配主窗口的视图模型类(PrismApplication启动),这里是MainWindowViewModel,匹配到之后Container自动创建MainWindowViewModel的实例,创建时会先检查M
阅读全文
摘要:Prism框架提供了DelegateCommand类型,专门用于进行WPF中的行为处理。 基本使用一、命令的使用DelegateCommand(Action executeMethod):DelegateCommand的构造函数,创建DelegateCommand对象。 executeMethod:
阅读全文
摘要:注册导航页面 注册区域 使用p:RegionManager.RegionName注册页面区域 <Window x:Class="WpfApp1.NavigationWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presenta
阅读全文
摘要:数据模板 DataTemplate 控件模板决定了数据的展示形式和用户体检,在软件UI设计中非常重要。同样数据的展示形式越来越多样化,正所谓:横看成岭侧成峰,远近高低各不同。同样的数据内容,在DataGrid中的展示是文本的列表形式,在ComboBox中是下拉框的形式。给数据披上外衣,将数据和形式解
阅读全文
摘要:<Button> <Button.Template> <ControlTemplate> <Grid> <Ellipse Name="faceEllipse" Width="{TemplateBinding Button.Width}" Height="{TemplateBinding Contro
阅读全文
摘要:模板(Template): WPF系统不但支持传统的Winfrom编程的用户界面和用户体验设计,更支持使用专门的设计工具Blend进行专业设计,同时还推出了以模板为核心的新一代设计理念。 在WPF中,通过引入模板(Template)微软将数据和算法的“内容”与“形式”解耦了。模板是算法和数据的外衣,
阅读全文
摘要:一、概述 我们利用ValidationRule以及ErrorTemplate来制作一个简单的表单验证。 二、Demo 核心思想:我们在ValidationRule中的Validate函数中进行验证,然后将验证结果存放至一个预先定义好的全局资源中,这样其他控件就可以根据验证结果来进行相应的处理,代码参
阅读全文
摘要:引用LiveChart.Wpf 在使用的界面当中引用LiveChart.Wpf的类库 xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" 以直方图、折线图为例, 都属于 CartesianChart 下的一种 Series
阅读全文
摘要:路由事件通过EventManager,RegisterRoutedEvent方法注册,通过AddHandler和RemoveHandler来关联和解除关联的事件处理函数;通过RaiseEvent方法来触发事件;通过传统的CLR事件来封装后供用户使用。 如何实现自定义路由事件,可以参考MSDN官网上的
阅读全文
摘要:一、新建NameValidationRule类 public class NameValidationRule : ValidationRule { public override ValidationResult Validate(object value, CultureInfo culture
阅读全文
摘要:一、数据模板继承了ItemConrol的控件对象(如ListView、ListBox、DataGrid、TabControl等等),都可以使用数据模板DataTemplate。 数据模板的作用在于决定每个Item中的数据的展示形式。 普通控件通过Template属性来定义模板,而子项容器控件则通过I
阅读全文
摘要:1什么是路由事件 简单说,路由事件可以沿着视觉树VisualTree进行传递,在这视觉树中的所有对象都可以收到这个事件。前提是添加了检测。 1.1什么是逻辑树LogicalTree 简单理解:逻辑树就是我们在xaml中写的布局逻辑 如xaml代码: <Grid> <StackPanel Orient
阅读全文
摘要:一、什么是路由事件? 根据MSDN定义: 功能定义:路由事件是一种可以针对元素树中的多个侦听器(而不是仅针对引发该事件的对象)调用处理程序的事件。 实现定义:路由事件是由 类的实例支持的 CLR 事件, RoutedEvent 由事件 Windows Presentation Foundation
阅读全文
摘要:它可以将任何特定类型的数据转换为其他类型,同理,也可以将其他任何类型转换为特定的数据类型。比如刚才咱们介绍的那种情况。赋值赋的是字符串类型,但是渲染出来还是颜色。其实XAML解析器通过两个步骤查找到了对应的类型转换器。 1)检查对应的属性声明。比如Foreground属性,查看是否存在TypeCon
阅读全文
摘要:集合通知更改,ObservableCollection。属性通知更改,适合单个属性,如果是多个属性的集合数据,使用ObservableCollection。 public partial class ButtonWindow : Window { ObservableCollection<Stude
阅读全文

浙公网安备 33010602011771号