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

Avalonia UI中有没有等效于WPF的DesignerProperties.GetIsInDesignMode方法?

Avalonia UI 设计模式检测实现方案

在Avalonia UI中,和WPF的DesignerProperties.GetIsInDesignMode功能完全对等的API是Design.IsDesignMode静态属性,二者作用完全一致,均用于判断当前UI是处于IDE设计器的预览状态,还是用户端的运行时状态,常用来填充设计器模拟数据、避免设计器因缺少运行时依赖报错。

用法说明

  • C# 后台代码使用
    引用命名空间using Avalonia.Controls;后直接调用静态属性判断即可:

    public class MainViewModel
    {
        public MainViewModel()
        {
            if (Design.IsDesignMode)
            {
                // 设计模式下执行的逻辑,比如加载模拟预览数据
                LoadMockPreviewData();
            }
            else
            {
                // 运行时执行的逻辑,比如加载真实业务数据
                LoadBusinessData();
            }
        }
    }
    
  • XAML 中直接使用
    可以通过x:Static标记扩展直接绑定该属性,控制设计器专属的UI展示逻辑:

    <Window xmlns="https://github.com/avaloniaui"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
        <Grid>
            <!-- 仅在设计器预览时显示的占位内容 -->
            <Border Background="#F5F5F5" IsVisible="{x:Static Design.IsDesignMode}">
                <TextBlock Text="设计模式预览占位" HorizontalAlignment="Center" VerticalAlignment="Center"/>
            </Border>
        </Grid>
    </Window>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:36:07