摘要:
MAUI是基于MVVM模式的UI开发,是WPF的跨平台实现,基本可以无缝把项目转到MAUI里。 配置非常简单,如下图。 因为此教程是基于《WPF编程宝典C#2012 第4版》实现的,所以为了方便书中各种demo的显示,请大家按照以下步骤添加公用代码。 1. 项目建立三个项目,其中MauiViews是
阅读全文
posted @ 2025-06-01 02:29
dalgleish
阅读(20)
推荐(0)
2025年7月1日
摘要:
大家自行搜索下载Bayern.ttf,放入Resources/Fonts目录中,并且添加下面代码到MauiProgram.cs中。 EmbeddedFont.xaml <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http:/
阅读全文
posted @ 2025-07-01 09:51
dalgleish
阅读(0)
推荐(0)
2025年6月30日
摘要:
文中例子是基于wpf Canvas写的,由于Maui还没有支持Canvas,所以顺手自己写一个。之前写了一个InkCanvas,发现扩展性太差了,这次写这个Canvas,彻底解决扩展性问题,支持自定义碰撞测试等。自己写的碰撞测试,是基于点集碰撞测试,可以处理任何点集,所以大家可以继承Shape类,写
阅读全文
posted @ 2025-06-30 15:23
dalgleish
阅读(54)
推荐(0)
2025年6月27日
摘要:
我对TextBox的功能修改了下,动态更新显示和隐藏密码的图标。为了考验大家,各位自己去修改源代码。再次强调下,如果要把自定义控件加入到默认命名空间,一定要调用Shell扩展中的Navigate (源代码在https://www.cnblogs.com/dalgleish/p/18920441)。如
阅读全文
posted @ 2025-06-27 14:31
dalgleish
阅读(1)
推荐(0)
2025年6月25日
摘要:
写过wpf的,都知道WrapPanel,这个在C# Maui里用FlexLayout实现。为了简化使用,我直接扩展了FlexLayout,增加了HorizontalSpacing和VerticalSpacing属性,这样就和toolkit:DockLayout中的间隔属性功能一样了。 大家可以重命名
阅读全文
posted @ 2025-06-25 14:07
dalgleish
阅读(3)
推荐(0)
2025年6月24日
摘要:
C# Maui暂时还没有TextBox,因为这个可以通过xaml样式实现,但是为了长期使用,自己写一个TextBox。 定义一个TextEventArgs public class TextEventArgs : EventArgs { public string Text{ get; set; }
阅读全文
posted @ 2025-06-24 14:36
dalgleish
阅读(110)
推荐(0)
2025年6月22日
摘要:
C# Maui的CheckBox暂时没有Label属性,继承Border扩展CheckBox。其次,为了简单,写一个PropertyManager,共用代码,这样以后换肤时,也可以动态修改对应属性。这里先实现一个CornerRadiusProperty的动态修改。 public class Prop
阅读全文
posted @ 2025-06-22 07:21
dalgleish
阅读(10)
推荐(0)
2025年6月21日
摘要:
TextBoxColumn.xaml对应代码 <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://sche
阅读全文
posted @ 2025-06-21 15:34
dalgleish
阅读(4)
推荐(0)
2025年6月20日
摘要:
C# maui暂时没有官方支持InkCanvas,但是不影响,自己实现一个就行了。目前支持画图,选择,移动和删除。同时支持自定义橡皮擦形状,也支持绑定自定义的形状列表。 实现一个Converter类,以后所有的绑定类型转换都在这个类中实现。 using System; using System.Co
阅读全文
posted @ 2025-06-20 14:10
dalgleish
阅读(79)
推荐(0)
2025年6月16日
摘要:
过去,wpf都基于Canvas来定位,现在可以用AbsoluteLayout。 SimpleCanvas.xaml <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://schemas.microsoft.com/dot
阅读全文
posted @ 2025-06-16 14:30
dalgleish
阅读(5)
推荐(0)
摘要:
基于之前写GridSplitter,完善下另一个例子。 DoubleSplitWindow.xaml对应代码 <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://schemas.microsoft.com/dotnet
阅读全文
posted @ 2025-06-16 14:03
dalgleish
阅读(5)
推荐(0)