浅谈avalonia与WPF的区别(二)

接上文浅谈avalonia与WPF的区别(一)https://blog.csdn.net/Mr_ccc/article/details/149190947?spm=1011.2124.3001.6209

实现细节区别

6.类处理程序

WPF:调用EventManager.RegisterClassHandler为事件添加类处理程序,静态处理函数

EventManager.RegisterClassHandler(typeof(MyControl), MyEvent, HandleMyEvent));static MyControl()
{
    EventManager.RegisterClassHandler(typeof(MyControl), MyEvent, HandleMyEvent));
}

private static void HandleMyEvent(object sender, RoutedEventArgs e)
{
}

Avalonia:类处理程序不是静态的:通知会自动定向到正确的实例。

static MyControl()
{
    MyEvent.AddClassHandler<MyControl>((x, e) => x.HandleMyEvent(e));
}

private void HandleMyEvent(RoutedEventArgs e)
{
}
7.数据模板(DataTemplates)
AvaloniaWPF
`DataTemplatesApplication`
可以针对接口和派生类不可以
同一集合内的 DataTemplate 是按照声明的顺序计算的
8.HierarchicalDataTemplate

WPF:HierarchicalDataTemplate等价于

Avalonia:TreeDataTemplate

9.RenderTransforms(渲染阶段对控件进行视觉变换的技术)

默认值不同,相同的代码会导致不同的渲染行为

WPF :RelativePoint.TopLeft(0, 0)

Avalonia: RelativePoint.Center (中心点)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值