首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    《深入浅出WPF》——模板学习

    因为使用Binding在控件与数据间建立关联,免去了在C#代码中访问界面元素,所以XAML代码中的大多数x:Name都可以去掉,代码看上去也简洁不少。...~~~~ 有些属性的值不能直接拿来用,比如怪兽的种族和名字不能直接用作图片的路径,这时就要使用Converter。...有两种办法可以在XAML代码中使用Converter: 把Converter以资源的形式放在资源词典里(本例使用的方法) 为Converter准备一个静态属性,形成单件模式(单例模式),在XAML代码里使用...DataTemplate很智能,具有直接把XML数据节点当做目标对象的功能——XML数据中的元素名(标签名)可以作为DataType,元素的子节点和Attribute可以使用XPath来访问。...DataTemplate的FindName方法获取由DataTemplate生成的控件并访问其属性,被注释的代码是直接使用底层数据。

    5K10

    Silverlight数据绑定IValueConverter学习笔记

    先回忆一下aspx中的处理: 在aspx中,可以直接在后台定义一个变量,然后前台就可以用来将其"绑定"html控件上,比如下面这样,实在是很方便: using System; namespace...要想直接将后台的变量绑定到某个控件上却是行不通的,通常我们得先定义一个类,然后在类里定义属性,才能把类实例的属性绑定到控件: 简单绑定: 代码 using System; using System.Windows...绑定集合(数据集): 很多应用场合中,数据来源不仅只有一个实例(或一条记录)--比如从数据库中检索的记录,这时如果想绑定数据并实现自动更新,应使用集合绑定(类似于aspx中的DataSet或DataTable...要注意的是,使用集合绑定并实现自动更新,除了要实现 INotifyPropertyChanged 外,还要实现 INotifyCollectionChanged。...可以直接拿来用: 代码 UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns

    94170

    C# WPF MVVM开发框架Caliburn.Micro关于关于Actions⑤

    那么,为什么我在描述此功能时使用“send a message”而不是“execute a method”?这是有趣而有力的部分。ActionMessage在可视树中冒泡搜索可以处理它的目标实例。...(在DataTemplate内部使用。) View.Model ViewModel First–定位指定VM实例的视图并将其注入内容站点。...首先,我们现在使用的是一个完全的POCO类;这里没有INPC的问题。其次,我们在SayHello方法中添加了一个输入参数。...这在主/详细场景中非常有用,在主/详细场景中,ActionMessage可能会冒泡到父VM,但需要携带要执行操作的子实例。 $source 触发要发送的ActionMessage的实际框架元素。...如果您主要在Xaml编辑器中工作,而不是在设计器中工作,那么您会喜欢Message.Attach。请注意,Message.Attach声明都没有指定应该发送消息的事件。

    2.1K20

    WPF 做一个超级简单的 1024 数字接龙游戏

    这里没有什么最佳实践,这么简单的应用,想怎么写就怎么写就好了 我这里都不想好好命名,直接就用 Whitman 工具随机一个名为 CecaqemdarYefarqukeafai 的控件名好了 在 CecaqemdarYefarqukeafai.xaml.cs...,配置下面一行给按钮使用,按钮需要多少空间再给多少空间 修改之后的 CecaqemdarYefarqukeafai.xaml 的全部代码如下 UserControl x:Class="BawjadurbaWurahuwa.CecaqemdarYefarqukeafai...定义在 MainWindow.xaml.cs 的字段代码如下 private int _index; private readonly int[] _list = new int[]...这是因为如果最后的数字刚好是 4、2、2 的话,那就可以先对 2 和 2 进行合并,合并完成拿到的 4 再和 4 进行合并 合并的方法就是移除这两个数字,再添加一个新的更大的数字 为什么移除的时候都是使用...先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码 git init git remote add origin https://gitee.com

    9810

    silverlight:telerik RadControls中RadGridView的一个Bug及解决办法

    当RadGridView中嵌套RadComboBox,且RadGridView的高度不够出现滚动条时,上下拉动滚动条后,RadComboBox中的选中值将丢失!...: UserControl x:Class="RadControlsBug.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml...(个人分析:有可能telerik的开发人员在解析XAML时,判断逻辑依赖于属性出现的顺序导致--胡猜的,我也没去看它的源码) 最后谈一下我个人对于Telerik RadControls For Silverlight...从成本上考虑,一套控件的售价9k RMB左右(无Licence数量限制,而且能拿到源码任意修改),国内用户可在慧都控件网上直接购买,对于公司来讲这个成本其实并不高(相比公司招人自己实现这些控件的功能而言...,9k多其实可以忽略不计了),如果您的公司打算致力于企业级应用的RIA开发,建议使用。

    77470

    【编辑】解决 Wpf TabControl 在所有选项卡上仅创建一个视图 的问题

    TabControl 的 ItemsSource 属性绑定到 ViewModel 中的集合。ContentTemplate 是 ListView – UserControl。...问题是你有一个 WPF 模板,无论你在它后面放什么数据,它都应该是相同的。因此,将创建模板的一个副本,每当 WPF 在 UI 树中遇到 ListViewModel 时,它都会使用该模板绘制它。...一种可能的替代方法可能是创建一个自定义 DependencyProperty,该属性绑定到您的项集合,并为集合中的每个项生成 TabItem 和 UserControl 对象。...to create 当前实现中的(相关) DependencyProperty 对新 UserControl 的创建进行硬编码。...先来解决 错误 2,也就是因为现在相当于是直接设置 TabControl 的 Items 了,所以 SelectedItem 也就变成了 TabItem,此时还使用之前的绑定(SelectedItem=

    7010

    WPF继续响应被标记为已处理事件的方法

    WPF中在冒泡事件或者隧道事件会随其层间关系在visual tree上层层传递,但是,某些事件传递到某些控件是即会”终止“(不再响应相应的注册事件),给人一种事件终结者的印象。...> ScrollViewer在控件模版中,ScrollViewer的MouseButtonDown事件处理事件如下:断点设置会发现鼠标点击时并不会触发。...某个元素将该事件标记为已处理,导致事件在传递时不再继续有响应,(原因:Handled被标记为True)如果希望后续元素也能响应此方法,可以使用此方法。...因此我们可以在上面UserControl的构造函数中添加下面代码:表示gridMain处理相应鼠标点击事件 public UserControl() { InitializeComponent...上例中如果想要UserControl继续响应,处境就与1一样了,只需将handle标记为false即可。

    96410

    : 制作一个备忘录(经典)

    01—概述 前几天群里有人问如何制作备忘录,感觉这样一个小实例挺适合新手们入门学习使用,所以就抽空做了出来。...功能很简单,但是要实现这么一个功能,也涉及众多的知识点,接下来详细进行分解。...02—内容详述 ①界面button的图标: 图标图片可以上网上下载,下载好以后放到项目目录中,然后在项目中找到你的图片——>右键包括在项目中——>再右键,点击属性: 复制到输出目录,更改为始终复制。...IsColumnMenuEnabled //是否关闭右键列菜单 03—前台代码 直接上代码,比较简单,不展开讲解了: UserControl xmlns="http://schemas.microsoft.com.../winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    1.7K20

    从ContentControl开始入门自定义控件

    什么是自定义控件 在开始之前首先要了解什么是自定义控件以及为什么要用自定义控件。...在WPF要创建自己的控件(Control),通常可以使用自定义控件(CustomControl)或用户控件(UserControl),两者最大的区别是前者可以通过ControlTemplate对控件的外观灵活地进行定制...编译通过后在XAML上添加MyHeaderedContentControl的命名空间即可使用这个控件: 在自定义控件中添加属性时应尽量使用依赖属性(有些只读属性可以使用CLR属性),因为只有依赖属性才可以作为Binding的Target。WPF中创建依赖属性可以做到很复杂,而再简单也要好几行代码。...请注意我使用object类型,在WPF中Content、Header、Title这类属性最好是object类型,这样不仅可以使用文字,还可以是UIElement如图片或其他控件。

    4.1K40

    .NET控件Designer架构设计

    ViewModel和View有一定的对应关系,但它的结点比View要少得多,因此比直接在View上进行逻辑处理要简单得多。由于ViewModel的数据和操作都是针对抽象的概念进行的,因此它和平台无关。...在designer中,这类简单输入方式主要应该用于Adorner,因为Adorner一般都是临时使用一下,输入简单,即使后面发现需要改变它的行为,不得已可以换一个AdornerModel和AdornerView...先看一下我们会怎样来设计View,为了便于用Xaml表达,我们一般会用UserControl来表达View,虽然CustomControl也能用Xaml,但它的xaml一般要写到Resource中,所以我们一般不用...这儿我要说明的是,由于CellView很简单,做产品的时候也许不会单独为它用一个UserControl,而是在Section的Xaml里直接表达了,甚至MultiRow的整个Template都用一个UserControl...),所以我们会在这两个UserControl的Xaml中设置一个附加属性ViewProperties.ViewModel,把它绑定到DataContext上,这样就让View指向了ViewModel,在附加属性

    97050
    领券