作为一个WPF初学者,感到困难重重。在网上想查个ListBox绑定数据源的示例,结果出来一大堆代码,一看心就烦。

我给个简洁一点的代码:

后台代码:

        protected class UserItem
{
public UserItem(int Id, string Name, bool IsActived)
{
this.Id = Id;
this.Name = Name;
this.IsActived = IsActived;
}
public int Id{get;set;}
public string Name { get; set; }
public bool IsActived { get; set; }
public string BackGround
{
get
{
return IsActived
? "/test;component/Assets/Images/UserItemNull.png"
: "/test;component/Assets/Images/UserItemNullg.png";
}
}
}
void Init()
{
Lst.ItemsSource = new List<UserItem>
{
new UserItem(1,"张三",true)
,new UserItem(2,"李四",true)
,new UserItem(3,"赵五",true)
,new UserItem(4,"钱六",true)
,new UserItem(5,"孙七",false)
,new UserItem(6,"李八",false)
,new UserItem(7,"王九",false)
,new UserItem(8,"陈十",false)
,new UserItem(9,"吴万",false)
,new UserItem(10,"刘十八",false)
};
}

页面代码:

<Grid>
<ListBox x:Name="Lst">
<ListBox.ItemTemplate>
<DataTemplate>
<Button MouseDoubleClick="Button_MouseDoubleClick">
<Grid>
<Image Source="{Binding Path=BackGround}" />
<TextBlock Text="{Binding Path=Name}" Margin="70 10" FontSize="18"></TextBlock>
</Grid>
</Button>
</DataTemplate>
</ListBox.ItemTemplate>
</Grid>

作为一个从业15年的平庸老程序员,不得不感叹一下,这么多年来,开发语言换了又换,又分层,又解耦,又模式,不断折腾,变换名词,其实我们现在在开发的软件,十年前也在搞,难道现在的开发效率提高啦?出来的东西比以前更棒?不见得吧。同时我们搞的这些小软件,生命周期不过一两年,有什么狗屁维护的问题呢?有什么修改起来会很麻烦的问题呢?未免想得太多。

但我们就是要被迫这样子不停地学习、学习,直到升为管理层,或被淘汰。

WPF学习笔记——ListBox用ItemsSource绑定数据源的更多相关文章

  1. WPF学习笔记 - 在XAML里绑定

    Binding除了默认构造函数外,还有一个可以传入Path的构造函数,下面两种方式实现的功能是一样的. <TextBlock x:Name="currentFolder" D ...

  2. WPF学习笔记(8):DataGrid单元格数字为空时避免验证问题的解决

    原文:WPF学习笔记(8):DataGrid单元格数字为空时避免验证问题的解决 如下图,在凭证编辑窗体中,有的单元格不需要数字,但如果录入数字后再删除,会触发数字验证,单元格显示红色框线,导致不能执行 ...

  3. WPF学习笔记-用Expression Design制作矢量图然后导出为XAML

    WPF学习笔记-用Expression Design制作矢量图然后导出为XAML 第一次用Windows live writer写东西,感觉不错,哈哈~~ 1.在白纸上完全凭感觉,想象来画图难度很大, ...

  4. WPF 学习笔记-在WPF下创建托盘图标

    原文:WPF 学习笔记-在WPF下创建托盘图标 首先需要在项目中引用System.Windows.Forms,System.Drawing; using System; using System.Co ...

  5. WPF 学习笔记-设置属性使窗口不可改变大小

    原文:WPF 学习笔记-设置属性使窗口不可改变大小 调整Windows下的ResizeMode属性: ResizeMode = NoResize Resize属性是控制Windows是否可以改变大小, ...

  6. 微信小程序学习笔记二 数据绑定 + 事件绑定

    微信小程序学习笔记二 1. 小程序特点概述 没有DOM 组件化开发: 具备特定功能效果的代码集合 体积小, 单个压缩包体积不能大于2M, 否则无法上线 小程序的四个重要的文件 *js *.wxml - ...

  7. WPF 学习笔记

    依赖属性(Dependency Property) 相比较于普通属性,依赖属性有以下特点: 变化通知(change notification) 节省内存 使用某种带优先级决定策略(resolution ...

  8. 【WPF学习笔记】之如何把数据库里的值读取出来然后显示在页面上:动画系列之(六)(评论处有学习资料及源码)

    (应博友们的需要,在文章评论处有源码链接地址,以及WPF学习资料.工具等,希望对大家有所帮助) ...... 承接系列五 上一节讲了,已经把数据保存到数据库并且删除数据,本讲是把已经存在的数据从数据库 ...

  9. WPF DevExpress Chart控件 界面绑定数据源,不通过C#代码进行绑定

    <Grid x:Name="myGrid" Loaded="Grid_Loaded" DataContext="{Binding PartOne ...

随机推荐

  1. Laravel5.1学习笔记18 数据库4 数据填充

    简介 编写数据填充类 使用模型工厂类 调用额外填充类 执行填充 #简介 Laravel includes a simple method of seeding your database with t ...

  2. JS高级——Object.prototype成员

    基本概念 成员 描述 Object.prototype.__proto__ 指向当对象被实例化的时候,用作原型的对象. Object.prototype.hasOwnProperty() 返回一个布尔 ...

  3. JS——绑定自定义属性

    1.绑定自定义属性: (1)元素节点.属性或元素节点[属性]绑定的属性不会出现在标签中,setAttribute可以出现在标签中. (2)setAttribute获取不到元素节点.属性形式绑定的属性值 ...

  4. JS——行内式注册事件

    html中行内调用function的时候,是通过window调用的function,所以打印this等于打印window,所以在使用行内注册事件时务必传入参数this <!DOCTYPE htm ...

  5. 控制台——EventLog实现事件日志操作

    我们应该如何通过写代码的方式向其中添加“日志”呢? 在操作之前,先明确几个概念: 1:事件日志名(logName):“事件查看器”中的每一项,如“应用程序”.“Internet Explorer”.“ ...

  6. CentOS 7 使用 yum 安装 MariaDB 与 MariaDB 的简单配置

    闲置已久的空间环境配置忘得差不多了,今天得空整理,重置了磁盘重新搭建环境,首先安装MariaDB的数据库,在这里记录下安装过程,以便以后查看. 1.安装MariaDB 安装命令 yum -y inst ...

  7. codeforces_734C_二分

    C. Anton and Making Potions time limit per test 4 seconds memory limit per test 256 megabytes input ...

  8. JAVA中EXTENDS 与 IMPLEMENT 区别

    简单说: 1.extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,2.JAVA中不支持多重继承,但是可以用接口来实现,这样就要用到implements, ...

  9. 在centOS环境搭建airtest时遇到 Xlib.error.DisplayNameError: Bad display name "" 和Xlib.error.XauthError异常

    现在的问题 (airtestVenv) [root@67 airtest_selenium]# python3 proxy.pyTraceback (most recent call last):  ...

  10. PAT_A1114#Family Property

    Source: PAT A1114 Family Property (25 分) Description: This time, you are supposed to help us collect ...