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
相关产品推荐
相关产品推荐

