随笔分类 - net / WPF
摘要:自定义控件 自定义控件是我比较陌生的一个主题。我好久没练习过wpf了,需要巩固记忆。我想了一会儿,打开动漫之家,忽然觉得这个看漫画的图片浏览控件有意思。于是特地花了一天做了这个图片控件。我原本以为很容易,但实际上并不简单。这个图片浏览控件比我想象中要难许多,有技术上的难题,也有逻辑上的难题。好在最后
阅读全文
摘要:对象 身在成都小微企业,前两天面试深圳老牌金蝶公司。对我这个荒废了三年光影的人来说,怎一个跨度之大了得?作为人我生第一次面试的,整个面试过程,只能用诡异来形容这次感受。而结尾也是迷迷糊糊中草草收场。 不是很好的开局 我我毕业就进了国企。毕业前,在我想象中,他是一个伟光正的形象。所以我抱着人生值得,未
阅读全文
摘要:wpf使用了Directx,所有才能够进行3D编程。 比较方便的是,3D模型也是声明式的,就像普通控件一样。 由于3D控件也是声明式的,所以还可以利用binding改变其属性 控件 Viewport3D 这是一个3D视口,所有的3D控件都要放在这里面。 3D空间的基本元素是 相机、 光源、 对象。
阅读全文
摘要:关于三大类控件和画笔的关系,可以用这张图说明 可以看出,除了形状具有边框,为什么其他控件的边框要通过border装饰实现 图中还没填满,理论上还有几种类型控件
阅读全文
摘要:VisualState基本使用 首先搭建一个自定义控件,继承自ContentControl,自动生成了这些文件 由于CustomButton在Custom命名空间中,所以改一下xaml中的引用 xmlns:local="clr-namespace:WpfApp1.Custom" 定义部件和视觉状态
阅读全文
摘要:按照上一节所讲,我已经对布局系统又所了解。接下来我就实现一个布局控件FixedColumnGrid。 1.基础版 布局控件机制如下,FixedColumnGrid将子控件按照水平排列,每行满两列后换行。每个控件大小相同,高度固定为50。 第一步,先重载测量和排列方法 protected overri
阅读全文
摘要:问题不在于我们做错了什么,之前还好好的,我们什么都没做,就报错了。这完全不是我们的问题。 InitializeComponent其实就是读取xaml文件,然后利用反射来生成和执行一些东西 如果这里报错,说明反射过程中出错了,比如代码里面添加某个东西,xaml中去使用 但是设计器的实时运行出了点堵塞,
阅读全文
摘要:wpf布局递归的调用到底是怎样的顺序?我一直挺模糊。 按照继承顺序。 已知: 1.1.UIElement:声明了Measure 1.2.UIElement:声明了MeasureCore,返回Size(0,0) 1.3.UIElement:Measure调用了this.MeasureCore 2.1.
阅读全文
摘要:这是我无意中发现的,xaml中设置的是依赖属性而不是包装器,所以我们可以直接在注册依赖属性那里设置回调,触发某个控件重绘,比如本身或父控件重绘。 xaml设计器就会实时更新 1 // !!!由于xaml解析是直接通过这里进行的,不通过包装器,所以通过设置这里的回调,可以使得在编辑xaml自定义依赖属
阅读全文
摘要:我使用WPF默认的frame <Frame Style="{DynamicResource FrameStyle1}" x:Name="frame" Height="80" NavigationUIVisibility="Visible"/> 然后添加几次导航 Task.Run(async () =
阅读全文
摘要:这个问题困扰了我一天,最后下了个MaterialDesign的demo,看了下他的源码,才恍然大悟,原来很简单。 我原来的设想是在expander的ControlTemplate设置触发器,在IsExpanded属性变化时根据ContentPresenter控件的高度来做动画,但这就涉及到取属性,在
阅读全文
摘要:如果使用CollectionViewSource绑定到控件上,会导致默认选择第一项,而使用List,SelectedItem就默认为空。 要避免默认选择第一项,就要设置 ListBox.IsSynchronizedWithCurrentItem=“False” 关于此现象说明
阅读全文
摘要:不要用表达式体去初始化一个用做数据源(比如ItemSource)的引用类型成员。比如这种 public List<MainWindowItem> Items => new List<MainWindowItem>() { new MainWindowItem{title="项目管理",icon="\
阅读全文
摘要:XAML文件内容如下 1 <Window x:Class="ERP.Views.Login" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft
阅读全文