2025年7月5日
摘要:
项目结构 小技巧,修改AvaloniaUI.csproj,让下面代码替换所有ItemGroup。这样的好处是,以后Resources下建立的xaml,默认是AvaloniaResource,然后Resource\Xamls下的,是正常文件。 <ItemGroup> <AvaloniaResource
阅读全文
posted @ 2025-07-05 15:18
dalgleish
阅读(175)
推荐(0)
摘要:
学习导航 - 从C# Avalonia - 导航栏开始 1. 安装VS 2022 2. 打开x64 Native Tools Command Prompt for VS 2022,输入下面指令获取Avalonia模板 dotnet new install Avalonia.Templates 3.
阅读全文
posted @ 2025-07-05 14:17
dalgleish
阅读(1061)
推荐(1)
2025年7月3日
摘要:
基于自己写的WpfButton,ButtonWithShape.xaml代码如下。 <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" x
阅读全文
posted @ 2025-07-03 09:00
dalgleish
阅读(28)
推荐(0)
摘要:
由于C# Maui是跨平台,所以按钮是没有写PointerOver这个样式的。本例子通过两种方法展示Button的Style修改。 方法一,使用xaml。这个方法,可以看我前面的教程,在App.xaml中添加MyStyles.xaml,然后自定义的按钮样式就可以被所有项目使用了。 <!--Butto
阅读全文
posted @ 2025-07-03 07:47
dalgleish
阅读(13)
推荐(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
阅读(14)
推荐(0)
2025年6月30日
摘要:
文中例子是基于wpf Canvas写的,由于Maui还没有支持Canvas,所以顺手自己写一个。之前写了一个InkCanvas,发现扩展性太差了,这次写这个Canvas,彻底解决扩展性问题,支持自定义碰撞测试等。自己写的碰撞测试,是基于点集碰撞测试,可以处理任何点集,所以大家可以继承Shape类,写
阅读全文
posted @ 2025-06-30 15:23
dalgleish
阅读(154)
推荐(0)
2025年6月27日
摘要:
我对TextBox的功能修改了下,动态更新显示和隐藏密码的图标。为了考验大家,各位自己去修改源代码。再次强调下,如果要把自定义控件加入到默认命名空间,一定要调用Shell扩展中的Navigate (源代码在https://www.cnblogs.com/dalgleish/p/18920441)。如
阅读全文
posted @ 2025-06-27 14:31
dalgleish
阅读(31)
推荐(0)
2025年6月25日
摘要:
写过wpf的,都知道WrapPanel,这个在C# Maui里用FlexLayout实现。为了简化使用,我直接扩展了FlexLayout,增加了HorizontalSpacing和VerticalSpacing属性,这样就和toolkit:DockLayout中的间隔属性功能一样了。 大家可以重命名
阅读全文
posted @ 2025-06-25 14:07
dalgleish
阅读(39)
推荐(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
阅读(200)
推荐(0)
2025年6月22日
摘要:
C# Maui的CheckBox暂时没有Label属性,继承Border扩展CheckBox。其次,为了简单,写一个PropertyManager,共用代码,这样以后换肤时,也可以动态修改对应属性。这里先实现一个CornerRadiusProperty的动态修改。 public class Prop
阅读全文
posted @ 2025-06-22 07:21
dalgleish
阅读(26)
推荐(0)