Student类: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BindingLINQ { public class Student { public int Id { get; set; } public string Name { get; set; } public int Age {…
1. 直接在XAML中以对象属性的方式 <ItemsControl x:Name="lstNew"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <StackPanel VerticalAlignment="Top" Orientation="Vertical"> <StackPanel.LayoutTransform> <Scal…
一.前言 ItemsControl.ListBox.ListView这三种控件在WPF中都可作为列表信息展示控件.我们可以通过修改这三个控件的样式来展示我们的列表信息. 既然都是展示列表信息的控件,那他们有什么相同点和不同点呢. 同: 1.这三个控件都是列表型控件,可以进行列表绑定(ItemsSource): 2.这三个控件均使用ItemsPresenter来展示列表信息: 异: 1.ListBox继承于ItemsControl,比ItemsControl一个Selector对象: 2.List…
原文 WPF:DataTemplateSelector设置控件不同的样式 最近想实现这么个东西,一个ListBox, 里面的ListBoxItem可能是文本框.下拉框.日期选择控件等等. 很自然的想到了DataTemplateSelector,并且事先定义好各类DataTemplate以显示不同的控件. 先定义好各类资源     <Window.Resources>         <DataTemplate x:Key="textBox">          …
原文:WPF中ItemsControl应用虚拟化时找到子元素的方法  wpf的虚拟化技术会使UI的控件只初始化看的到的子元素, 而不是所有子元素都被初始化,这样会提高UI性能. 但是我们经常会遇到一个问题: 应用虚拟化后看不见的子元素因为没有实际产生导致ItemContainerGenerator的查找元素方法(ContainerFromIndex / ContainerFromItem)失效. 解决办法1: (1)监听ItemsControl的ItemContainerGenerator的St…
隔行换色,鼠标单击,悬浮样式都有,其具体效果如图 1 所示. 图 1 WPF DataGrid 样式设置效果图 其中: 界面设计代码下所示 ? + 查看代码 1 2 3 4 5 6 7 8 9 10 11 12 <DataGrid AutoGenerateColumns="False"  Name="dataGrid1"  VerticalAlignment="Top"       CanUserSortColumns="Fals…
我们在用到ItemsControl时,有时会用到分组,如ListBox,ListView,DataGrid.WPF的ItemsControl可以实现分组,是依托于GroupStyle,以ListBox为例,他的分组效果图为: 以下为前台: 1 <ListBox Name="lbMain"> 2 <ListBox.ItemTemplate> 3 <DataTemplate> 4 <StackPanel Orientation="Hori…
原文:WPF,ListView设置分组 今天遇到一个问题,就是在ListView中设置分组.想了很久在网上早了些资料作出一个例子. 分组字段也可以在后台中定义: CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(listView1.ItemsSource); PropertyGroupDescription groupDescription = new PropertyGroupDescriptio…
我们在用到ItemsControl时,有时会用到分组,如ListBox,ListView,DataGrid.WPF的ItemsControl可以实现分组,是依托于GroupStyle,以ListBox为例,他的分组效果图为: 以下为前台: <ListBox Name="lbMain"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal&q…
WPF:DataGrid设置行.单元格的前景色 0. 说明 /********************************** 本示例实现功能1.DataGrid基本操作2.列标题样式3.内容居中2.根据条件设置最后一列单元格前景色3.根据条件设置行前景色5.自定义分隔线***********************************/ 1. XAML: <Window x:Class="Summary.MainWindow"        xmlns="ht…
原文 WPF下Itemscontrol分组 样式 <ItemsControl Grid.Row="1" DataContext="{Binding Layouts}" ItemsSource="{Binding }"> <ItemsControl.GroupStyle> <GroupStyle > <GroupStyle.ContainerStyle > <Style TargetType=&…
原文:WPF 精修篇 DataGrid 数据源排序 效果 <DataGrid x:Name="datagrid" ItemsSource="{Binding ElementName=Mwindow, Path=Preson}" Margin="0,0,0,20"> <DataGrid.Columns> <DataGridTextColumn Binding="{Binding Name}" Hea…
介绍: DataConnectionDialog 类: 打开“数据连接”对话框,获取用户选择的数据连接信息. 命名空间为:Microsoft.Data.ConnectionUI 所在程序集:Microsoft.Data.ConnectionUI.Dialog(在“%Visual Studio安装目录%/Common7/IDE/Microsoft.Data.ConnectionUI.Dialog.dll”) 注意: 在程序集:Microsoft.VisualStudio.Data (in Micr…
介绍: DataConnectionDialog 类: 打开“数据连接”对话框,获取用户选择的数据连接信息. 命名空间为:Microsoft.Data.ConnectionUI 所在程序集:Microsoft.Data.ConnectionUI.Dialog(在“%Visual Studio安装目录%/Common7/IDE/Microsoft.Data.ConnectionUI.Dialog.dll”) 注意: 在程序集:Microsoft.VisualStudio.Data (in Micr…
WPF TextBox 一些设置技巧 运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-01 参考: 章节: 取消输入法 输入方式设定为Overwrite 限定输入字符数 一.取消输入法 TextBox txbx=new TextBox(); InputMethod.SetIsInputMethodEnabled(txbx, false);//关掉输入法 二.输入方式设定为Overwrite //把输入改成 overwrite 模式 //…
原文:WPF 后台C#设置控件背景图片 以前的程序中有做过,当时只是记得uri很长一大段就没怎么记.今天有人问了也就写下来.   这是一个Button,设置了Background后的效果. 前台的设置比较方便 XAML: <Button Height="174" Name="button1" Width="349"> <Button.Background> <ImageBrush ImageSource="…
场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100061243 在上面已经实现DevExpress的安装之后,拖拽一个TreeList,然后怎样给其设置数据源. 设置数据源 1.TreeList 控件可以被绑定到任何传统的数据源: BindingSource.DataTable.DataView 和 DataSet 对象,以及实现了 IList…
场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100061243 在上面已经实现DevExpress的安装之后,拖拽一个TreeList,然后怎样给其设置数据源. DevExpress的TreeList怎样设置数据源,从实例入手: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/…
问题:XAML中,想要在一个Bingding语句中再次Bingding. Source="{Binding Path=Image,Converter={StaticResource UMatToBitmapSourceConverter},ConverterParameter={Binding IsMirror}}" 运行后会报错XML解析异常: 解决办法:改为使用MultiBinding的及其转换器. <Image.Source> <MultiBinding Con…
这篇博客将展示WPF DataBinding的内容. 首先看一下WPF Data Binding的概览, Binding Source可以是任意的CLR对象,或者XML文件等,Binding Target需要有依赖属性.这样便可以进行Data Binding.请看下面的示例, C# public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); DataContext = new Pe…
WPF中所有的集合类控件,子项都不能继承父级的DataContext,需要手动将绑定的数据源指向到父级控件才可以. <DataGridTemplateColumn Header="操作"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <Button Command="{Binding DataContext.DeleteCommand, RelativeSource={Re…
在wpf的DataGrid控件中,某一列的数据模板为TextBox控件的话,绑定Text="{Binding TxtSn, UpdateSourceTrigger=PropertyChanged}" UpdateSourceTrigger=PropertyChanged为必须设置项. 代码如下: <DataGridTemplateColumn x:Name="csdx2" Header="测试对象" Width="*"…
基于WAF框架:WPF Application Framework (WAF) View层XAML中设置热键. <Window.InputBindings> <!--<KeyBinding Command="{Binding SaveCommand}" Key="S" Modifiers="Control"/>--> <KeyBinding Command="{Binding AboutComm…
In the WPF example the Popup and the ToggleButton (the arrow on the right) are bound with the property IsDropDownOpen: 在模版里面设置 <Popup IsOpen="{TemplateBinding IsDropDownOpen}" ... <ToggleButton IsChecked="{Binding Path=IsDropDownOpen,…
从WPF学习03:Element Binding我们可以实现控件属性与控件属性的绑定. 从WPF学习07:MVVM 预备知识之数据绑定 我们可以实现控件属性与自定义对象属性的绑定. 而以上两个功能在实际应用中还是不够的,我们经常需要将列表数据与控件属性进行绑定. 例子 ListBox切换人物,下面两个文本框跟随切换,很常用的功能. XAML代码: <Window x:Class="DataTemplate.MainWindow" xmlns="http://schema…
之前大家写代码都喜欢用事件驱动,比如说鼠标输入的click事件.初始化的内容全部放在窗体加载完毕的load事件,等等,里面包含了大量的由事件触发后的业务处理代码.导致了UI和业务逻辑高度耦合在一个地方.代码难于维护.也难以优化. 我们这个章要讲的内容是忘记我们的事件驱动.尝试理解数据驱动.客户端开发分层的话理论上就是数据层.业务逻辑层.UI层,相对于三层的话一般我们的代码可以分为: A:数据的持久化存储: B:数据的读取和写入: C:业务逻辑处理: D:界面业务逻辑处理后数据的展示. E:界面与…
最近因为公司的项目需要用WPF开发,就学习了一下WPF.刚开始只是用到什么就百度什么,虽然功能是实现了,但还是没有弄清楚原理(如果不弄清原理,会感觉很心虚,整个人会没底气),所以决定找个教程系统地学一下.网上关于WPF的教程并不多,至于视频教程就更少了. 无意间,看到了<深入浅出WPF>这本电子书,就下载下来看了一下.刚开始我一口气看完了前面4章,感觉这本书确实写得不错,不仅让你知其然,还知其所以然.虽然阅读的时候很过瘾,觉得书中讲解地也很到位,但如果项目中没用到的话,难免又会忘却.所以呢,写…
一.WPF 中获取和设置鼠标位置 方法一:WPF方法 Point p = Mouse.GetPosition(e.Source as FrameworkElement); Point p = (e.Source as FrameworkElement).PointToScreen(pp); 方法二: API方法 /// <summary> /// 设置鼠标的坐标 /// </summary> /// <param name="x">横坐标</p…
1. 在WPF中当将主窗体的WindowStyle设置为none时,使用鼠标移动不了窗体 2. 解决方法: 2.1. 在Windows的Load方法中增加一下代码: private void Window_Loaded(object sender, RoutedEventArgs e) { this.MouseDown += delegate { DragMove(); }; } 2.2. 重写主窗体的 OnMouseLefButtonDown()方法: protected override v…
今天更改ListBox,用到ItemContainerStyle设置样式,设置Style.Triggers时,BackGround和BorderBrush均无效,其他效果正常. 翻看WPF编程宝典,发现代码没问题,下载源码之后,发现效果一样不行.在群里求助之后,得到解决.win8问题,编程宝典的作者用的是win7,xp也正常,唯独win8没有效果. 原问题链接:http://stackoverflow.com/questions/491293/why-cant-i-set-the-backgro…