既然Caliburn.Micro更喜欢ViewModel优先的方法,让我们从这里开始。
自Office 2007版本开始,Microsoft对Office界面进行了彻底的改造,将原来的菜单和工具栏改成了功能区,文件格式也进行了改变。现在的Office文件,实际上是一个压缩文件,其中包括了创建文档的XML文件。这样,我们能够通过修改其XML文件结构,从而创建自已的功能区。
我们把有用的东西称为资源。“兵马未动,粮草先行”-----程序中的各种数据就是算法的原料和粮草。程序中可以存放数据的地方有很多,可以放在数据库里、可以存储在变量里。介于数据库存储和变量存储之间,我们还可以把数据存储在程序主体之外的文件里。外部文件与程序主体分离,这就有可能丢失或者损坏,编译器允许我们把外部文件编译进程序主体、称为程序主体不可分割的一部分。这就是传统意义上的程序资源(也称为二进制资源)。
在制作UWP个人项目时需要用到数据绑定,网上的教程大都不全,特此记录下自己使用的方法。
为了开始我们的研究,我们将以简单的“Hello”示例为例,看看当我们显式地创建操作而不是使用约定时,它是什么样子。以下是Xaml:
WPF资源系统是一种保管一系列对象(如常用的画刷、样式或模版)的简单办法,从而使您更容易地复用这些对象。
微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架。
X名称空间里面的成员(如X:Name,X:Class)都是写给XAML编译器看的、用来引导XAML代码将XAML代码编译为CLR代码。
图形用户界面(GUI,Graphic User Interface)应用较之控制台界面(CUI,Command User Interface)应用程序最大的好处就是界面友好、数据显示直观。CUI程序中数据只能以文本的形式线性显示,GUI程序则允许数据以文本、列表、图形等多种形式立体显示。 用户体验在GUI程序设计中起着举足轻重的作用——用户界面设计成什么样子看上去才够漂亮?控件如何安排才简单易用并且少犯错误?(控件并不是越复杂越好)这些都是设计师需要考虑的问题。WPF系统不但支持传统Windows Forms(简称WinForm)编程的用户界面和用户体验设计,更支持使用专门的设计工具Microsoft Expression Blend进行专业设计,同时还推出了以模板为核心的新一代设计理念(这是2010年左右的书,在那时是新理念,放现在较传统.NET开发也还行,不属于落后的技术)。 本章我们就一同来领略WPF强大的模板功能的风采。
之前给自己放了一个比较长的假期,在这期间基本上没怎么来园子逛。很多朋友的留言也没有一一回复,在这里先向大家道个歉。最近一段时间的工作任务是如何将ADO.NET Entity Framework 4.0(以下简称EF)引入到我们的开发框架,进行相应的封装、扩展,使之成为一个符合在特定场景下进行企业级快速开发的ORM。在此过程中遇到了一些挑战,也有一些心得。为了向大家分享这些心得,也为了借助大家的脑袋解决我们遇到的问题,接下来我会写一系列相关的文章。这些文章的读者适合那些对EF有基本了解的人。 第一个主题是关于
1. 添加两个textbox,第一个textbox从XMAL资源中获取字符串,第二个textbox从C#中获取资源
大家都知道,在 WPF 里面,可以让资源字典合并其他资源字典,从而定义出资源字典引用树。然而在资源字典引用树里面,如果没有理清关系,将可以作出一个超级复杂的引用关系网。如果在性能优化中,将网断开部分,可能就会出现找不到资源的情况。本文将告诉大家 WPF 的资源字典树在引用和寻找关系上的坑
依赖属性就是一种自己可以没有值,并且可以通过绑定从其他数据源获取值。依赖属性可支持WPF中的样式设置、数据绑定、继承、动画及默认值。
此模式允许将给定的 ControlTemplate 属性绑定到应用 ControlTemplate 的控件的属性。为了更好地理解这里的问题,下面是一个示例
系统环境变量由 Windows 定义并应用到所有计算机用户。对系统环境的更改将写入注册表,而且通常需要重启计算机才能生效。通常我们的程序中也会使用环境变量,如何在WiX设置环境变量呢? 安装一个环境变量,我们就需要向Environment table中添加一条记录,其中有几个字段是必须设置的: Environment - public key to be referenced from other tables. Name - name of the environment variable we wan
需求:采用Cobbler批量分发安装Windows10(官方原版未封装过)并默认进入审核模式;
.NET8正式版本发布了,AnyCAD Rapid.NET针对.NET8进行了升级和优化。本文以WPF项目为例介绍在.NET8中使用AnyCAD Rapid.NET三维控件。
在 Resharper 更改全部命名空间之后,在 xx.g.cs 文件里面的 using 用了一个之前的命名空间,但是代码里面没有地方使用,此时构建不通过,原因是 xaml 里面存在引用
促使程序赢得更多客户的最好、最经济的方法是使之支持多国语言,而不是将潜在的客户群限制为全球近70亿人口中的一小部分。本文介绍四种实现WPF应用程序支持多国语言的解决方案。
要运行本文中的示例,请先安装Vistual Studio 2022,社区版就可以了。
2020-04-03 06:44
ilverlight本地化 简单的实现多语言版本的Silverlight应用。 日益国际化的同时,需要我们开发的应用根据不同的来访者显示不用的语言,Silverlight在这个方面就提供了很方便的支持。 下来就来介绍一下如何做本地化 在VS中新建Silverlight项目 添加一个资源文件 添加一些文案,注意:Access Modifier 要设置为Public 然后复制这个文件,修改其名字做多语言支持。 相关列表请查阅这里:http://msdn.microsoft.com/zh-cn/vs
WPF介绍了一个非常方便的概念:把数据储存为一种资源,无论是本地控件、本地窗口还是全局应用。数据可以是任何你想要的东西,从实际的信息到WPF控件的层次结构都行。这非常有用,你可以把数据放在一个地方,然后在其他地方调用它。
在 Web 项目中,我们免不了使用一些诸如图片、音频、视频、字体之类的在我们的程序中非可执行的数据文件,习惯称之为资源文件。在Silverlight中,使用这些资源文件的方法有很多,比如官方的说法:
通过System.Net.Mail使用SSL协议发送邮件失败并报错 System.Net.Mail.SmtpException: Failure sending mail
本文主要翻译ResourceDictionary and XAML resource references - UWP app developer ,里面的代码我重新写了一下,有一些不相同。
WPF的本地化是个很常见的功能,我做过的WPF程序大部分都实现了本地化(不管最终有没有用到)。通常本地化有以下几点需求:
以下错误描述摘自博客:http://blog.csdn.net/qzw4549689/article/details/14451257
在任意地方创建一个文件夹,最好是你不去经常移动的地方,文件夹是用来存放你自定义的代码块的文件夹。
我在开发软件进行测试时,需要测试拖入的文件被占用时软件的行为,于是就做了一个文件占用工具,此工具可以将某个文件进行占用,以及获取某个文件被哪个进程占用
昨天开始在我的windows7上出现了Http 500错误,查看系统的应用程序日志,有如下两条错误: 1: 日志名称: Application 2: 来源: Microsoft-Windows-IIS-W3SVC-WP 3: 日期: 2010/8/7 20:58:37 4: 事件 ID: 2268 5: 任务类别: 无 6: 级别: 错误 7: 关键
转眼间Windows 8.1已经发布了四个多月,之前因为开发需要对Windows 8.1新特性进行过零散的学习和使用,一直没有静下心来系统的学习过。近日部门有几名新同事加入,需要进行Windows 商店应用开发的培训,所以借这个机会,重新梳理一下Windows 8.1 应用开发的知识。闲言碎语不多讲,接下来开始第一站,创建第一个应用。 首先我们看一下开发环境要求:Windows 8.1 + Visual Studio 2013 紧接着我们新建一个Windows 8.1 商店应用的项目,起名为HelloWor
在UWP中DataTemplate是一个十分重要的功能,并且几乎无处不在,例如DataGrid中的DataGridTemplateColumn:
用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle IConductor ,Conductor<T> 这些常用功能写下来。 先看一下Calibur
发布于 2018-07-25 01:27 更新于 2018-07-26 23:23
发布于 2018-10-13 21:38 更新于 2018-10-14 04:25
XAML是英文Extensible Application Markup Language的缩写,中文可以称为“可扩展应用程序标记语言”,是基于Extensive Markup Language(XML)可扩展标记语言,在Windows 10 UWP、Windows 8、Windows Phone、Silverlight以及WPF技术框架下都可以使用XAML的语法作为应用UI界面的开发。 XAML简化了创建UI的过程,使UI编程更加简单明了,在使用XMAL的项目中,以".xaml"作为文件扩展名。每个XAM
官方地址:https://docs.microsoft.com/zh-cn/windows/apps/winui/winui2/
本文参考自Serializable 作用,纯属读书笔记,加深记忆 介绍之前,先说一个重要的知识点: Serializable属性并不序列化类,它只是一个标签。至于如何序列化,各种序列化类各自有各自的做法,它们只是读取这个标签而已,之后就按照自己的方式去序列化,例如某个应用程序会反射目标对象的类型的所有Field和Property,看看它是否实现了ISerializable,如果实现了就调用它。你可以看看关于实现ISerializable接口来使自己的类可以被序列化的做法。某些应用程序查找Serializab
下面是我更新Silverlight ctp到Silverlight beta 1.0的一个纪录,希望对各位同学有帮助。 1、卸载Silverlight ctp 和sdk以及VS template 2、
UWP允许开发者通过两种方式创建自定义的控件:UserControl和TemplatedControl(模板化控件)。这个主题主要讲述如何创建和理解模板化控件,目标是能理解模板化控件常见的知识点,并且可以创建扩展性良好的模板化控件。
要想成为Silverlight 的开发高手,熟练通达XAML语法是必由之路。现在我们来一个空的XAML模板。 Silverlight 1.0 的模板是这样的: <Canvas xmlns=="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="400" Height="300">
项目开发中遇到一个要求,需要将ComboBox右侧中的小三角箭头给去掉,通过Blend工具“编辑ComboBox的模板副本”得知,这是一个名为"BtnArrow"的Path。但是在CS代码中,是无法引用到这个控件的。 解决办法:重新定义一个类,继承自ComboBox,然后重写OnApplyTemplate方法,代码如下 using System.Windows; using System.Windows.Controls; using System.Windows.Shapes; namespace Co
4. 在CustomUI Editor中,单击“插入”并选择“Office 2007 Custom UI Part”。之所以选择这个选项,是使工作簿与Excel 2007及以后的版本兼容。
{x:Null}:用于设置某属性值为Null,比如<Rectangle Fill="{x:Null}" />,其实就相当于<Rectangle />,个人感觉这个纯属MS的多余设计 另外要注意一个问题: <Rectangle x:Name="rect" Stroke="Black" Width="90" Height="90" MouseLeftButtonUp="Rectangle_MouseLeftButtonUp" StrokeThickness="10" /> 运行时,如果点击矩形中间区域,会发现
这是数据绑定中的特殊情况,Binding源本身就数据且不需要Path来指明,string、int等基本数据。
避开行为与寻找行为彻底相反。实际上,除了代码最后一行用相减代替了相加以外,其它都一样。 public void flee(Vector2D target) { Vector2D desiredVelocity = target.subtract(_postion); desiredVelocity.normalize(); desiredVelocity = desiredVelocity.multiply(_maxSpeed); Vector2D force = des
领取专属 10元无门槛券
手把手带您无忧上云