WPF中多窗口共享静态属性】的更多相关文章

由于我的DoubanFm在重新考虑之后,需要设置一个全局的CurrentSong,这个字段要让所有的VM都知道,而我同时又想把它作为我所有VM的共有属性.而且我想尽量减少代码的复制,提高重用.所以我做了以下的工作:(下面是我在WPF中的测试) 首先我们得熟悉MVVMlight框架 然后: (1)基类 一.抽象的VM的基类 abstract class MainViewModel : ViewModelBase 二.私有静态,公有非静态暴露,还有关键点:在属性更改之后用  RaisePropert…
原文地址:http://www.cnblogs.com/Jennifer/articles/1997763.html WPF中的窗口的生命周期 WPF中所有窗口的基类型都是System.Windows.Window.Window通常用于SDI窗口和对话框.Window在应用程序中除了一个设计用于托管顶级内容的控件外,就别无他物了.典型的,可以混合使用标记和代码来定义一个窗口.代码如下: 在xaml页: <Window x:Class="WPFApplication1.MainWindow&…
// class关键字,是ES6中提供的新语法,是用来实现ES6中面向对象编程的方式 class Person{ // 使用static关键字,可以定义静态属性 // 所谓的静态属性,就是可以直接通过类名,直接访问的属性 // 实例属性:只能通过类的实例,来访问的属性,叫做实例属性 static info = {name:'zs',age:20} } // 访问Person类身上的 info 静态属性 console.log(Person.info) // Java C# 实现面向对象的方式完全…
documentMode属性表示当前主窗口是否启用文档模式,如果是则主窗口的选项卡部件会以适合操作文档的模式呈现,这类似于macOS上的文档模式. 设置此属性时,界面上不会呈现选项卡部件框架.此模式当文档页面覆盖了大部分选项卡部件区域时对于显示文档内容的页面非常有用. 可以通过documentMode()查询主窗口的documentMode属性值,通过setDocumentMode(bool set)可以设置主窗口的documentMode属性. 博客地址:https://blog.csdn.n…
在使用wpf开发软件时,有使用到DataGrid,DataGridTextColumn的Header 属性使用DynamicResource binding,在修改绑定数据源时,header并没有更新. <DataGridTextColumn Header="{DynamicResource test_Main_Result_ID}"  Width="30*" Binding="{Binding ID,Mode=TwoWay}" IsRea…
关于子窗体的层级关系总结一下哈,希望能对大家有些帮助 假设有这样两个窗体:RootWindow,SubWindow,在RootWindow中引发某事件而显示SubWindow 1,如果弹出窗体(比如SubWindow)仅仅是调用Show方法,并且没有设置其Owner属性: ClassRootWindow { void Foo() { SubWindow sw = newSubWindow(); sw.Show(); } } 那么弹出窗体(SubWindow)和源窗体(如RootWindow)没有…
在编写XAML的触发器时,会有属性,事件. 那么这些都是哪里来的呢? 属性,是附加属性或者依赖属性 事件,那就是事件. 如何寻找呢? 很简单,在想要使用的触发器的对象上(也就是有光标的时候)按下F12 此时进入到定义界面 这些类型为DependencyProperty 的都是属性 在XAML编写时,直接写Property前面的单词就可以了,至于为什么,那就是约定成文的.详细的可以看看如何编写WPF依赖属性,附加属性的文章. 那么同理,事件也是一样. 以Event结尾的基本都是事件,也可以看看参数…
今天一个问题搞的很郁闷,原本好好的工程,这两天加了几个类之后链接不通过了. 发现过程略去不说,最后去掉了类中的static属性,编译通过了.具体原因没时间仔细查了,反正尽量避免在静态链接库里使用static的属性吧.…
首先新建一个WPF工程,在主界面添加一个按钮,并给按钮添加点击事件button1_Click,然后新建一个用于测试弹出位置的窗口TestWindow.1.在屏幕中间显示,设置window.WindowStartupLocation = WindowStartupLocation.CenterScreen; private void button1_Click(object sender, RoutedEventArgs e) { TestWindow window = new TestWindo…
参考:http://blog.csdn.net/zhangjiyehandsom/article/details/5498845 1. 需求:要在一行内容中显示不同颜色以及粗细不一的字体, 解决办法:可以使用多个Label来显示这个功能,但是这个方法太笨来, 可以直接使用TextBlock的Inlines属性 例子如下:http://my.oschina.net/owen123456/blog/162190 目前正在赶项目,到时有空再回来详细书写…
unifiedTitleAndToolBarOnMac 用于确认在mac操作系统上是否使用统一的标题和工具栏外观 有如下几个限制: 1.不支持使用带OpenGl内容的窗口,包括QGLWidget 和 QOpenGLWidget: 2.使用可浮动停靠或可移动的工具栏可能会导致绘制错误,因此不建议使用. 可通过unifiedTitleAndToolBarOnMac() .setUnifiedTitleAndToolBarOnMac(bool)来查询或设置该属性. 博客地址:https://blog.…
dockNestingEnabled 属性是确认主窗口的浮动部件(dock widget)是否允许嵌套的一个属性. 如果此属性为False,则浮动部件停靠区域只能包含一个浮动部件(水平或垂直).如果此属性为True,则浮动部件所占的区域可以沿任意方向拆分以包含更多的浮动部件. 浮动部件嵌套并不是一个推荐的行为,因为当部件被拖到主窗口上时,部件嵌套会导致更复杂(且不太直观)的行为. 可以使用isDockNestingEnabled()查询该属性的设置,使用setDockNestingEnabled…
问题描述: Combox中,设定了绑定对象,但是在第一次进入时却没有显示上次选中的项.      1)查看SelectedItem对应绑定的值,也是有的(启动时,读取上次设置的结果,来初始化界面).      2)退出界面,不退出程序,再次打开也能显示上一次设置的结果.如果退出程序,再次打开界面却没有.      3)查看了绑定对象的反射情况,确定绑定是OK的.   问题分析:      1)由于SelectedItem是一个对象,ItemSource是该对象的集合.Combox在更新Selec…
Source = new BitmapImage( new Uri( WangCaiConfig.GetCurrentDirectory() + imgStr, UriKind.RelativeOrAbsolute))   this.PictureImage.Source = new BitmapImage( new Uri(img, UriKind.RelativeOrAbsolute)); Canvas.Right="10": Canvas.SetRight(stateImage,…
坑在哪里: 在我之前接触的一个项目中涉及到这么一项功能:每天00:00:00把某些数据移动到mongodb数据库的另一个集合中,也就是关系型数据库的表中.这个集合名是一个固定的名称加上当前的两个月前的日期所在的年和月份. 这个功能是在我接触这个项目之前就已经存在,也就是之前的同事实现的功能,写了一个java的定时任务. 那个同事如今已经不在我们公司了,但是最近却发现这个功能有些问题,数据的移动并不像预计那样,原本应该存在2月的数据却出现在了1月的表中. 坑的根源: mongodb相关的问题暂时归…
我们经常会抽取一些可重用的控件,某个属性是否需要重用,直接决定了这个属性的绑定方式. 1.完全不可重用的控件 有一些与业务强相关的控件,它们的属性完全来自ViewModel,越是相对复杂的控件,越容易这样.比如: // ChooseUc.xaml <UserControl> <StackPanel Orientation="Horizontal"> <Label Content="选择一个水果: "/> <ComboBox…
<!--设置BorderThickness会让border的Background图片看起来有模糊感--> <Border x:Name="border" BorderBrush="{x:Null}" BorderThickness="1" Background="{TemplateBinding Background}" RenderTransformOrigin="0.5,0.5">…
Form cnblogs 桂素伟 随着WPF的推广,不得不重新拾起WPF来,因为这块的产品越来越多. 只能跟着MSDN来学了,所以想是在这里记录下学习的过程和对知识的理解. 先从最基本的吧,依赖项属性是WPF中不同的地方,先了解一下它吧. “依赖项属性的用途在于提供一种方法来基于其他输入的值计算属性值”,这是官方的一句话,理解起来有点费劲.属性本身其实很简单,就是用来封装了字段的,本质上是两个访问器,来达到对字段值的读与写,以及从业务角度保护字段的业务有效性(因为大部分字段都有一定的业务含义,即…
在WPF中实现窗口分栏并能够通过鼠标改变大小已经非常容易,例如将一个GRID分成竖排三栏显示,就可以将GRID先分成5列,其中两个固定列放GridSplitter. <Grid Background="#FFEDFFFB" Name="grid1"> <Grid.ColumnDefinitions> <ColumnDefinition Width="3*" /> <ColumnDefinition Wid…
在WinForm中,我们要跨线程访问窗口控件,只需要设置属性CheckForIllegalCrossThreadCalls = false;即可. 在WPF中要麻烦一下,同样的不允许跨线程访问,因为没有权限,访问了会抛异常: 没有CheckForIllegalCrossThreadCalls 属性,怎么办? 在WPF中的窗口控件都有一个Dispatcher属性,允许访问控件的线程:既然不允许直接访问,就告诉控件我们要干什么就好了. 方法如下: private delegate void outp…
出处:https://www.cnblogs.com/axzxs2001/archive/2010/04/25/1719857.html 随着WPF的推广,不得不重新拾起WPF来,因为这块的产品越来越多. 只能跟着MSDN来学了,所以想是在这里记录下学习的过程和对知识的理解. 先从最基本的吧,依赖项属性是WPF中不同的地方,先了解一下它吧. “依赖项属性的用途在于提供一种方法来基于其他输入的值计算属性值”,这是官方的一句话,理解起来有点费劲.属性本身其实很简单,就是用来封装了字段的,本质上是两个…
1. 面向对象的概念 1)类是一类抽象的事物,对象是一个具体的事物:用类创建对象的过程,称为实例化. 2)类就是一个模子,只知道在这个模子里有什么属性.什么方法,但是不知道这些属性.方法具体是什么: 所以,我们要在这个模子的基础上 造出一个具体的实例(对象),这个实例就会具体化属性.方法 3)所有的数据类型都是类,都是抽象的:根据数据类型定义变量,该变量就是一个具体的值(对象). 面向过程 --> 面向对象的转变 定义一个函数   <==> 定义一个类 函数的返回值(字典)   <…
WPF中静态引用资源与动态引用资源的区别   WPF中引用资源分为静态引用与动态引用,两者的区别在哪里呢?我们通过一个小的例子来理解. 点击“Update”按钮,第2个按钮的文字会变成“更上一层楼”,而第1个按钮的文字没有变化. 原因是第1个按钮文字用的是静态引用资源,而第2个按钮文字用的是动态引用资源. 前台代码: <Window x:Class="PersonalLearning.StaticDynamicResourceDemo"        xmlns="ht…
转自 http://www.cnblogs.com/libaoheng/archive/2011/11/18/2253751.html 本文目录 1.窗口的外观 2.窗口的位置 3.窗口的大小 4.窗口的可见性和状态 5.窗口的生命周期 1.窗口的外观 WPF中默认窗口框架的外观,主要取决于Icon.Title.WindowsStyle.ResizeMode等属性. Icon 指定窗口的图标: Title 指定窗口的标题: WindowStyle 指定窗口样式,有4个取值: None,无边框:(…
IL介绍 通用中间语言(Common Intermediate Language,简称CIL,发音为"sill"或"kill")是一种属于通用语言架构和.NET框架的低阶(lowest-level)的人类可读的编程语言.目标为.NET 框架的语言被编译成CIL,然后汇编成字节码.CIL类似一个面向对象的汇编语言,并且它是完全基于堆栈的.它运行在虚拟机上,其主要的语言有C#.Visual Basic .NET.C++/CLI以及 J♯. 在.NET语言的测试版中,CI…
一,IL访问静态属性和字段 IL介绍 通用中间语言(Common Intermediate Language,简称CIL,发音为"sill"或"kill")是一种属于通用语言架构和.NET框架的低阶(lowest-level)的人类可读的编程语言.目标为.NET 框架的语言被编译成CIL,然后汇编成字节码.CIL类似一个面向对象的汇编语言,并且它是完全基于堆栈的.它运行在虚拟机上,其主要的语言有C#.Visual Basic .NET.C++/CLI以及 J♯. 在…
原文:wpf控件开发基础(2) -属性系统(1) 距离上篇写的时间有1年多了.wpf太大,写的东西实在太多,我将依然围绕着自定义控件来展开与其相关的技术点. 也欢迎大家参与讨论.这篇我们将要讨论的是WPF依赖属性,接触过的朋友应该对其有所了解,但在我们讲WPF依赖属性之前,我们来看看在WPF出现之前.net中的属性是如何使用的. 普遍存在的属性问题 c#基本属性 ASP.NET自定义控件属性 WinForm自定义控件属性 Javascript自定义控件属性 c#基本属性 namespace WP…
原文:如何监视 WPF 中的所有窗口,在所有窗口中订阅事件或者附加 UI 由于 WPF 路由事件(主要是隧道和冒泡)的存在,我们很容易能够通过只监听窗口中的某些事件使得整个窗口中所有控件发生的事件都被监听到.然而,如果我们希望监听的是整个应用程序中所有的事件呢?路由事件的路由可并不会跨越窗口边界呀? 本文将介绍我编写的应用程序窗口监视器,来监听整个应用程序中所有窗口中的路由事件.这样的方法可以用来无时无刻监视 WPF 程序的各种状态. 其实问题依旧摆在那里,因为我们依然无法让路由事件跨越窗口边界…
  前  言  OOP  学习了好久的PHP,今天来总结一下PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化). 1  PHP中的抽象类与抽象方法 1.什么是抽象方法?              没有方法体 {} 的方法,必须使用abstract 关键字修饰.这样的方,我们叫做抽象方法.                    abstract function say(); //    抽象方法          2.什么是抽象类…
WPF中使用WindowChrome美化窗口,在园子里有几篇不错的文章,我也是参考练习过程中发现的问题,并记录下来. 在看过几篇教程后,给出的窗口很多出现这样一个问题,如果设置了窗口标题栏的高度大于默认高度,超出默认高度的区域不能够响应双击事件和右键.如下图所示,整个标题栏黄色区域下方的区域是不能响应双击事件和右键的. 黄色区域部分能够正常响应: 最后发现这样解决途径: <Setter Property="WindowChrome.WindowChrome"> <Se…