向Application.Resources添加MergedDictionary时出现错误 WPF

4

我正在使用MVVM light创建一个"快速"的WPF应用程序来测试一些Web服务。我已经运行了整个应用程序,但需要将我的ResourceDictionary添加到应用程序资源中。当我将以下内容添加到App.xaml时:

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

我遇到了错误:
错误 4:程序“”不包含适用于入口点的静态“Main”方法。
我找到的所有有关此错误的帮助都与构建操作设置为ApplicationDefinition有关,但这并不是问题所在。
非常感谢您提供任何帮助或指导。
TIA!

1
一件事情绝对与另一件事情毫无关系。你的问题在别处。 - user1228
2个回答

10

在学习MVVM Light Toolkit时,我向资源中添加任何内容时都会遇到同样的错误。该问题是由于<Application.Resources>中的字典声明不正确引起的,并且与MVVM Light Toolkit无关。

应用程序的资源字典应该类似于以下内容:

<Application ...>

    <Application.Resources>
        <ResourceDictionary>
            <!-- Global ViewModelLocator -->
            <vm:ViewModelLocator x:Key="Locator"
                                 d:IsDataSource="True" />

            <ResourceDictionary.MergedDictionaries>
                <!-- Global style -->
                <ResourceDictionary Source="Skin1.xaml" />
                <ResourceDictionary Source="Skin2.xaml" />
                <ResourceDictionary Source="Templates1.xaml" />
                <ResourceDictionary Source="Templates2.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>

</Application>

通过这种方式,您可以获得具有旧的Locator键以及声明在列出的文件中的字典中的新键的运行全局资源字典。

被加载的文件如下所示:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <Style TargetType="{x:Type Button}">
        <Setter Property="Height" Value="28" />
        <Setter Property="Padding" Value="12,3" />
    </Style>

    ...

</ResourceDictionary>

1

哦,出现了一个奇怪的错误 - 在将合并字典部分添加到App.xaml之前,您的程序是否已编译和运行?

检查一下项目属性可能是值得的 - 听起来您可能已将其设置为控制台应用程序 - 默认情况下具有静态主方法作为应用程序启动的控制台应用程序。

如果它没有设置为控制台应用程序 - 仍然值得检查启动对象设置 - 这可以设置为特定类,该类也可以检查静态主方法作为入口点。

入口点基本上意味着作为应用程序的第一件事运行的东西。

希望对您有所帮助, 斯科特


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接