You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Avalonia视图设置internal访问修饰符?XAML预览报错

解决Avalonia视图设为internal后XAML预览报错的问题

你遇到的问题根源是Avalonia不支持x:ClassModifier属性,默认XAML代码生成器会生成public级别的代码,和你手动设置的internal类访问级别不匹配,从而导致预览器提示无效标记。按以下步骤修复:

1. 调整项目配置

打开项目文件(.csproj),在<PropertyGroup>节点中添加配置,强制XAML代码生成器输出internal级别的代码:

<PropertyGroup>
  <!-- 保留原有项目配置 -->
  <AvaloniaXamlCodeGenOptions>ClassModifier=internal</AvaloniaXamlCodeGenOptions>
</PropertyGroup>

2. 保留C#视图类的internal修饰符

你的MainView类写法是正确的,继续保持:

internal partial class MainView : ReactiveUserControl<MainViewModel> {
    public MainView() {
        InitializeComponent();
        this.WhenActivated(disposables => { });
        AvaloniaXamlLoader.Load(this);
    }
}

3. 清理并重建项目

完成配置修改后,右键项目选择「清理」,再重新「生成」项目,XAML预览器就能正常识别internal视图了。

注:ViewModel设为internal不影响程序运行和预览,但如果后续需要为预览器配置设计时ViewModel实例,需确保相关访问权限匹配。

内容的提问来源于stack exchange,提问作者bwoogie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 16:35:27