簡體   English   中英

使用App.xaml中的ResourceDictionary自動完成

[英]Autocompletion with a ResourceDictionary in App.xaml

這是我當前的項目架構:

Program.Startup.csproj
--- Styles
------ MyStyles.xaml
--- App.xaml

Program.View.csproj
--- MainWindow.xaml
--- SettingsView.xaml
--- ...

我正在使用我的app.xaml為所有控件加載樣式:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary  Source="Styles/MyStyles.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

每當我在主窗口中使用樣式時,在設計期間都找不到該樣式。 開發視圖/窗口時,有沒有辦法使自動完成工作停止1000個“未找到的錯誤”?

窗口是內容控件。

因此,您可以根據需要切換其內容。

將主窗口放在與入口點完全不同的項目中並沒有多大意義。

如果要在其中使用foo,則可以新建foo的實例,並使MainWindow.Content = myFoo。

想要bar代替...。您可以將其內容設置為bar的實例。

無論如何,無論您的主要解決方案是什么,都可以添加其他項目。

您可以添加現有項目,以便您的代碼在同一解決方案中都可見。

因此,您的意見將是。

然后,在app.xaml中,您可以合並入口點解決方案中的資源詞典,並使用包表示法來合並其他項目中的資源詞典。

這是一個實時app.xaml的副本。

<Application x:Class="ScenarioEditor.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             Startup="Application_Startup"
         >
<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary  Source="pack://application:,,,/UILib;component/Resources/Geometries.xaml"/>
            <ResourceDictionary  Source="pack://application:,,,/UILib;component/Resources/ControlTemplates.xaml"/>
            <ResourceDictionary  Source="pack://application:,,,/UILib;component/Resources/FontResources.xaml"/>
            <ResourceDictionary  Source="/Resources/ScenarioEditorResources.xaml"/>
            <ResourceDictionary  Source="pack://application:,,,/UILib;component/Resources/UILibResources.xaml"/>
            <ResourceDictionary  Source="pack://application:,,,/UILib;component/Resources/HypsoColoursRD.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

我的解決方案是Scenario Editor和ScenarioEditorResources,因為它引用了其他幾個項目,並且它們的資源字典也已合並。 我通過在Visual Studio中打開方案編輯器解決方案來工作。

當我編輯那些引用的項目之一中的內容時,UILib會合並所有資源。

您也可以添加設計資源字典,但是看起來它可以從exe加載到dll中。

不是傳統的工作方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM