1

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;
    }

私は疑いますが、この変更されたエントリ ポイントがそれと関係があるとは確信できません (MainWinow のビルド アクションを「Page」に変更しました)。

何が起こっているのか、それを修正する方法はありますか?

4

1 に答える 1

0
  1. エントリ ポイントを変更したため、app.xaml の "StartupUri" 属性を、起動する新しいウィンドウに変更しましたか?

  2. app.xaml ファイルの x:Class 属性と、startupwindow.xaml ファイルの x:Class 属性は何ですか?

  3. スタイルを StaticResource ではなく DynamicResource として参照しようとしましたか? DynamicResource はコンパイル時にスタイルをロードしません。実行時にロードします。編集時にデザイン ウィンドウに適用されたスタイルは表示されませんが、アプリケーションを実行するとスタイルが適用されます。これはこの問題を解決するための最良の方法ではないかもしれませんが、私は過去にいくつかのばかげた小さなハードルを乗り越えるためにそれを行いました. 個人的には、デザイナー ウィンドウを使用することはありません。UI をすべて XAML で記述しているだけなので、これは実際には問題ではありませんでした。

これらを試してみて、それらのいずれかがあなたのために働くかどうか教えてください.

于 2013-02-15T17:13:27.680 に答える