看过许多例子,全是绑定到类的,没人说如何绑定到某个对象,偏偏我这个绝对的新手就是要绑定到一个对象,只能自己摸索了: 首先要将数据绑定到容器,有以下几个默认条件:①元数据必须包装在List或者ObservableCollection中,后者具有动态更新的功能.即,如果在程序中更改了ObservableCollection的值,与之绑定的控件会自动得到更新.②待绑定的元数据可以是基本类型,也可以是复杂对象,这样就可以实际像TreeView这样的嵌套显示,但对象的每个成员都必须是基本类型,或者是Obs…
最终效果图:(用于学习类的效果 图片丑了点,看官莫怪) 新建窗体 然后在前端适当位置插入如下代码: <TreeView x:Name="> <TreeView.ItemTemplate> <HierarchicalDataTemplate ItemsSource="{Binding Nodes}"> <StackPanel> <TextBlock VerticalAlignment=" Text="{B…
WPF 动态创建 DataTemplate 及数据绑定 运行环境:Window7 64bit,.NetFramework4.61,C# 6.0: 编者:乌龙哈里 2017-02-22 参考: startexcel的专栏 正文: 方法就是在内存中动态生成一个 XAML ,仿照前端一样写一个 DataTemplate .如下面的前端: <Window.Resources>     <DataTemplate x:Key="123">         <Text…
原文:WPF Label控件在数据绑定Content属性变化触发TargetUpdated事件简单实现类似TextChanged 事件效果   本以为Label也有TextChanged 事件,但在使用的时候却没找到,网友说Label的Content属性改变肯定是使用赋值操作,赋值的时候就可以对其进行相应的操作所以不需TextChanged 事件. 上MSDN查了一下,TextChanged 事件在TextBoxBase类中:而Label和TextBox的继承关系如下: Label: Syste…
原文:WPF编游戏系列 之五 数据绑定        在上一篇通过用户控件将重复使用的控件封装为一个控件组,大大减少了C#代码数量,本篇继续对该控件组进行数据绑定,节省为每个控件赋值的工作.对于数据绑定具体内容的在这里就不多说了,有许多相关资料可以参考,博客园的达人们肯定也有相关教程. 1. 创建一个GoodsInfo类,其中包括GoodsImage.GoodsPrice.GoodsQty.GoodsBuyImageTag 这四个属性. using System; namespace XMark…
说到数据绑定,其实这并不是一个新的玩意儿.了解asp.net的朋友都知道,在asp.net中已经用到了这个概念,例如Repeater等的数据绑定.那么,在WPF中的数据绑定相比较传统的asp.net中的数据绑定又有哪些优点呢? 1)具有双向性,即从源到目标是双向的2)及时更新,源发生改变时,能够及时更新UI3)Validation和Converter,前者保证数据的合法性,后者保证数据的有效性接下来,我们将从这么几个方面来说明:Binding对象(对应xaml中的Binding扩展标记).Bin…
在WPF中进行数据绑定的时候常常会用到INotifyPropertyChanged接口来进行实现,下面来看一个INotifyPropertyChanged的案例. 下面定义一个Person类: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; namespace WpfApp { public class Person…
说到数据绑定,其实这并不是一个新的玩意儿.了解asp.net的朋友都知道,在asp.net中已经用到了这个概念,例如Repeater等的数据绑定.那么,在WPF中的数据绑定相比较传统的asp.net中的数据绑定又有哪些优点呢? 1)具有双向性,即从源到目标是双向的2)及时更新,源发生改变时,能够及时更新UI3)Validation和Converter,前者保证数据的合法性,后者保证数据的有效性接下来,我们将从这么几个方面来说明:Binding对象(对应xaml中的Binding扩展标记).Bin…
[概要] 上一章讲了布局,按照市面上的书籍每一本讲的顺序都不一样,本系列是希望大家能快速上手去应对工作需要,所以本章就直接开始讲绑定. 如有学习过程中想交流学习.疑惑解答可以来此QQ群交流:580749909.(所有涉及到的源码都上传到了群文件里) 希望加群的人提问时尽量想清楚自己的问题,愿意钻研而不是等现成的答案而不去思考.祝各位同仁早日学会WPF这项技术. [绑定] 如上图所示按照个人理解我总结了一下,把绑定分为四步: 1.绑定目标 绑定目标很好理解,其实就是你要操作绑定的控件.例如:But…
[概要] 该系列文章主要描述,新手如何快速上手做wpf开发.看过网上部分的教程,主要讲述的是介绍控件.这并没有问题,但是没有把自己的使用经验也完整的描述出来. 所以特此编写此系列文章希望能帮助到,因为一些工作原因或想入门的朋友们.如有学习过程中想交流学习.疑惑解答可以来此QQ群交流:580749909. 希望加群的人提问时尽量想清楚自己的问题,愿意钻研而不是等现成的答案而不去思考.祝各位同仁早日学会WPF这项技术. [布局控件介绍] Gird -- 新手的话建议第一个必须掌握的布局控件就是gri…
首先创建一个自定义控件,在里面定义好treeview的样式,将本来的三角形的图标变为加号的图标,并且添加节点之间的连线. <UserControl x:Class="TreeViewEx.myTreeView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml&q…
首先为TreeView控件制作一个Style: <Style x:Key="LibraryTreeViewItemStyle" TargetType="{x:Type TreeViewItem}" <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" /> <Setter Property="IsSele…
(申明:最近在做一个练习,写点东西,谨供参考.) 1.界面展示:其中的布局和样式就不说了,重点在MVVM架构和数据绑定(Model层使用EF(Entity Framework)实体框架,不做介绍). 绑定后: 2.架构介绍: 在Views层中新建CusGroupEditWindow窗体,ViewModels中建立CusGroupEditViewModel类,在窗体的xaml或者cs中引用ViewModels对应类: xaml中: <Window.DataContext> <local:C…
在触摸屏设备上.由于列表是的信息展示不是非常直观和便捷操作. 所以也就出现了很多用面板控件:类似win10的Metro风格, 所以抽空做了一个WPF面板控件. 话不多上 , 先上一个示例图. 为了便于阅读.于是做了一个简单版本, 提供源代码各位可以下载, 该示例中.用的是GalaSoft Mvvm.不了解的朋友Google一下. 新建一个WPF工程添加一个自定义控件.名称自定义, 一下所有UserControl实现代码:  <UserControl.Resources> <Style x…
[概要] 这一章主要讲述,讲述MVVM模式和用法. 如有学习过程中想交流学习.疑惑解答可以来此QQ群交流:580749909.(所有涉及到的源码都上传到了群文件里) 希望加群的人提问时尽量想清楚自己的问题,愿意钻研而不是等现成的答案而不去思考.祝各位同仁早日学会WPF这项技术. [MVVM] 前言:MVVM的核心思想就是界面与代码分离,实现“解耦”.是一种开发模式,并不是一种开发框架.主要是以数据驱动的开发模式. 先从项目应用的角度来介绍一下MVVM是什么.怎么用.项目中该怎么建项目结构. 话不…
<Window x:Class="BindingDemo1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="254" Width=&…
接上篇,我们在MainViewModel类中创建个属性: public string Name { get; set; } 然后去UI的xaml文件中binding一下: 此时运行程序是不会得到我们想要的结果的,因为还没有设置DataContext. 我们去设置下DataContext: debug下,按理说UI的button会找到DataContext的Name属性,显示我们的MainViewModel.Name 关于绑定的最好的事情之一是它们使UI与视图模型中的数据保持同步.但是此时我们更改…
之前几篇关于TreeView的博客中只是贴了源代码,并没有把整个项目上传到github.最近就想着把我常用的几个控件做成一个demo,这样也方便自己以后查看.本人也是WPF新手,但是我并没有打算就往这个方向发展,只是搞课题的时候需要一点可视化,就用到了WPF.总体感觉WPF很强大很灵活.   本次demo运行后就是如下动图的样子,demo没有任何实际意义,随便写的.以后如果用到了其他控件,会考虑更新. github地址:Larissa1990/WPFdemo (github.com)…
.Netformwork4.0及以下版本 -------INotifyPropertyChanged 命名空间: System.ComponentModel 后台代码 public partial class DvrWnd : UserControl { public DvrWnd() { InitializeComponent(); } private void InitInfo() { for (int i = 0; i < 10; i++) { DvrInfo dvrInfo = new…
本人纯属WPF新手,布局和WPF的开发水平相当欠缺,从个人来说,还是比较喜欢WPF的,有人说WPF是界面加上WINFORM,我不这样认为,WPF与WINFORM主要的不同在于数据绑定.   这个软件虽然功能比较简单,没有做分层设计,也没有使用MVVM的开发模式,但也确实花了我不少的时间,算是这段时间学习WPF的结果吧,在此给大家展示一下,也给同行的新手门一个参考的例子(希望不会是误导).       软件具体功能如下:     1.本软件可以设置计划任务运行的周期:一次.每月.每天.每小时.间隔…
系列一:看的迷迷糊糊的 一.Mvvm Light Toolkit for wpf/silverlight系列之准备工作 二.Mvvm Light Toolkit for wpf/silverlight系列之搭建mvvmlight开发框架 三.Mvvm Light Toolkit for wpf/silverlight系列之数据绑定 四.Mvvm Light Toolkit for wpf/silverlight系列之Command和Events 五.Mvvm Light Toolkit for…
[-] 闲话WPF之二XAML概述 闲话WPF之五XAML中的类型转换 闲话WPF之十六WPF中的资源 2 闲话WPF之十九WPF中的传递事件 1 闲话WPF之二十WPF中的传递事件 2 闲话WPF之二一WPF中的数据处理 3 闲话WPF之二二WPF中的Style 闲话WPF之二三WPF中的ControlTemplate 1 闲话WPF之二四WPF中的ControlTemplate 2 闲话WPF之二五WPF中的ControlTemplate 3 闲话WPF之二六WPF性能优化点 闲话WPF之一…
最近有不少wpf新手问wpf的命令怎么绑定多个控件,很多人为此绞尽脑汁,网上的答案找了也没找到靠谱的,其实用MultiBinding就可以了.从.net 3.0版本开始,就支持MultiBinding 关于MultiBinding的说明: https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.data.multibinding?redirectedfrom=MSDN&view=netframework-4.7.2 从msdn说明中我…
本文主要针对WPF新手,高手可以直接忽略,更希望高手们能给出一些更好的实现思路. 前期一个小任务需要实现一个类似含步骤进度条的控件.虽然对于XAML的了解还不是足够深入,还是摸索着做了一个.这篇文章介绍下实现这个控件的步骤,最后会放出代码.还请高手们给出更好的思路.同时也希望这里的思路能给同道中人一些帮助.话不多说,开始正题. 实现中的一些代码采用了网上现有的方案,代码中通过注释标记了来源,再次对代码作者一并表示感谢. 首先放一张最终效果图. 节点可以被点击 控件会根据绑定的集合数据生成一系列节…
一.前言.预览 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要是对文本输入控件进行样式开发,及相关扩展功能开发,主要内容包括: 基本文本框TextBox控件样式及扩展功能,实现了样式.水印.Label标签.功能扩展: 富文本框RichTextBox控件样式: 密码输入框PasswordBox控件样式及扩展功能: 效果图: 二.基本文本框TextBox控件样式及扩展功能…
篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblogs.com/baiboy/p/wpf1.html 篇三:批量处理后的txt文件入库处理:http://www.cnblogs.com/baiboy/p/wpf2.html 篇四:关于OneNote入库处理以及审核:http://www.cnblogs.com/baiboy/p/wpf3.html […
TreeView递归绑定无限分类数据 实现一个动态绑定,无限级分类数据时,需要将数据绑定到TreeView控件,分类表的结构是这样的: 字段 类型 Id int ParentId int Name Nvarchar(64) 实现数据绑定: private void ControlsDataBind() { tvCategory.Nodes.Clear(); List<Models.Category> types = CommonNews.Helper.OperateContext.Curren…
WPF/MVVM 快速开始指南(译) 本篇文章是Barry Lapthorn创作的,感觉写得很好,翻译一下,做个纪念.由于英文水平实在太烂,所以翻译有错或者译得不好的地方请多指正.另外由于原文是针对WPF的,我在原文的基础上做了一些修改,让例子能在silverlight上运行. 原文链接:http://www.codeproject.com/KB/WPF/WpfMvvmQuickStart.aspx 中文原文:http://www.cnblogs.com/xiaobaihome/archive/…
深入浅出WPF(1)——什么是WPF 2008-05-15 19:06:00   小序:   Hi,大家好!几乎两个月没有写技术文章了.这两个月,我在学习WPF.回顾一下两个月的学习历程,有两个感觉——第一,WPF是一项非常实用又简单易学的东西,它将成为未来MS平台上快速开发的主流趋势:第二,WPF的学习比较讲求路径,如果没有一个比较好的路径,学习起来可能比较慢,主要原因是它像是一种ASP.NET与Windows Forms的“杂交品种”,里面有很多内容与前两者似像非像,同时还有很多新内容的引入…
元素绑定是数据绑定的一个子集,关于数据绑定是什么,园子里有很多文章都说得非常好,在此不予详细说明. WPF实现了完善的数据绑定机制,使得元素绑定有简易的实现步骤. 本文的元素指的是WPF中的可视控件. 例子 XAML代码: <Window x:Class="ElementBinding.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x=&q…