VS 2015 WPF:Dictionary导致Window冻结/未创建命名空间

时间:2015-08-19 20:15:48

标签: c# wpf

我在新的VS 2015中玩弄了一下,我发现了两个奇怪的行为,我实在无法解释。可能你可以帮助我,如果这是简单的错误或我做了一般错误的事情: Í有一个简单的Project,Mainwindow只有一个Datagrid:

<Grid>
    <DataGrid>
        <DataGrid.Columns>
            <DataGridTextColumn Header="Test" />
        </DataGrid.Columns>
    </DataGrid>
</Grid>

在App.XAML中,我在子文件夹中加载了一个词典:

<Application.Resources>
        <ResourceDictionary Source="Dictionaries\AppDictionary.xaml" />
</Application.Resources>

字典看起来像这样:

<Style TargetType="Grid">
    <Setter Property="Margin" Value="10" />
</Style>

现在,只要我加载Window,它就会永远冻结。我测试了一些Grid-Properties,但这只发生了,当我设置Margin时。 我检查了DataGrid或DataGridTextColumn的继承,但它们似乎无论如何都不会从Grid继承。

他们的第二个例外: 我需要在Dictionaries-Subfolder中创建一个Class,否则我会一直得到异常:

  

类型或   名称空间中名称空间名称“字典”不存在   'WpfApplication3'(你错过了一个程序集吗?   引用?)

我暂时没有使用WPF,但我几乎可以肯定,我之前没有遇到过这样的问题,但在这种情况下我可能错了。

编辑:当我打破调试时,我收到消息: “您的应用程序已进入中断状态,但没有代码可以显示,因为执行外部代码的所有线程都是”。

1 个答案:

答案 0 :(得分:0)

您的信息似乎并不完整但似乎您没有构建Dictionaries\AppDictionary.xaml文件。您需要将其Build Action设置为Resource。

此外,您的字典应如下所示:

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