欢迎光临散文网 会员登陆 & 注册

Avaloniaui奇怪问题记录之x:Name用不了

2021-05-03 22:23 作者:抑制住a  | 我要投稿

先上一段ReactiveUI.Validation的代码

因为Avaloniaui不能像wpf里面那样直接用x:Name的值做变量,所以这个view.Result直接提示找不到,虽然Avaloniaui提供了如下这样的写法。

但如果直接写成下面这样,还是会直接报错。

报错如下:

报错结果

然后就开始找解决方法,找啊找啊就找到了下边这篇issue

发现他们早就解决这个问题了,装个nuget包就行了,看样子等版本到了0.11.x就没这个问题了,目前才0.10.3,还很遥远。。。

解决方法如下

先装一下这个nuget包:XamlNameReferenceGenerator

XamlNameReferenceGenerator

然后在csproj文件里写一下配置

这个就是帮你写了个部分类,把所有x:Name都加了上去。

所以我们要把所有的类都加上partial,改成部分类。

还要把我们写的InitializeComponent删掉,因为他帮我们写好了。

这个是自己的,要删掉

然后就没问题了。


参考资料:

AvaloniaUI/Avalonia.NameGenerator: Generates x:Name references to Avalonia XAML controls. (https://github.com/worldbeater/XamlNameReferenceGenerator)

rxui: Add WireUpControls to Avalonia.ReactiveUI by worldbeater · Pull Request #4931 · AvaloniaUI/Avalonia (https://github.com/AvaloniaUI/Avalonia/pull/4931)



Avaloniaui奇怪问题记录之x:Name用不了的评论 (共 条)

分享到微博请遵守国家法律