样式表单app.xaml没有被设计人员找到

本文关键字:设计人 表单 app xaml 样式 | 更新日期: 2023-09-27 17:50:50

我刚刚注意到我的xaml编辑器无法看到App.xaml中定义的样式。

<Application x:Class="MyApp.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="Windows'MainWindow.xaml">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/Assets/Themes/ShinyBlue.xaml"/>
            </ResourceDictionary.MergedDictionaries>
            // this one gets a warning that's never used, though it is
            <LinearGradientBrush x:Key="backgroundBrush" EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="{StaticResource NormalBrushGradient3}" Offset="0.1" />
                <GradientStop Color="{StaticResource NormalBrushGradient1}" Offset="0.4" />
            </LinearGradientBrush>

对这样一个样式的每个调用都加了下划线,并且这两个样式都不是由设计师加载的(一切都是白色的)。当我运行应用程序时,它看起来很好-样式正在加载。

最近我更改了应用程序的入口点:

public partial class App : Application
{
    [System.STAThreadAttribute()]
    public static int Main(string[] args)
    {
        var dirsToCreate = new[]
            {
                Settings.Default.PhotosDirectory
            };
        foreach (var dir in dirsToCreate)
        {
            if (!Directory.Exists(dir))
                Directory.CreateDirectory(dir);
        }
        App app = new App();
        app.InitializeComponent();
        app.Run();
        return 0;
    }

我怀疑,但不能确定这个更改的入口点可能与此有关(我将mainwindow的构建操作更改为'Page')。

你知道发生了什么事,怎么解决吗?

样式表单app.xaml没有被设计人员找到

  1. 既然你改变了你的入口点,你是否改变了app.xaml中的"StartupUri"属性到你想要启动的新窗口?

  2. 你的app.xaml文件中的x:Class属性是什么?你的startupwindow中的x:Class属性是什么?xaml文件?

  3. 你有没有尝试引用你的样式作为一个动态资源而不是一个静态资源?DynamicResource不会在编译时加载样式,它会在运行时加载。在编辑时,您不会在设计窗口中看到应用的样式,但在运行应用程序时将应用这些样式。这可能不是解决这个问题的最佳方法,但我过去曾经这样做过,只是为了克服一些愚蠢的小障碍。就我个人而言,我从不使用设计器窗口,我只是用XAML编写我的UI,所以这对我来说不是一个真正的问题。

试试这些方法,让我知道它们是否适合你。