.net 当样式位于另一个文件中时,Silverlight页面变为空白

.net 当样式位于另一个文件中时,Silverlight页面变为空白,.net,silverlight,.net,Silverlight,我已经设计了SilverlightDataGrid控件的样式,当该样式位于UserControl.Resources中时,它正确地应用于DataGrid。但是如果我将其移动到Styles.xaml文件并将以下内容添加到App.xaml <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <R

我已经设计了Silverlight
DataGrid
控件的样式,当该样式位于
UserControl.Resources
中时,它正确地应用于
DataGrid
。但是如果我将其移动到
Styles.xaml
文件并将以下内容添加到
App.xaml

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

加载后页面变为空白,我在浏览器状态栏中看到“错误”图标

这与未加载样式文件无关,因为“styles.xaml”文件中的其他几个样式可以正确应用。只有一种样式会导致此错误

注意:该样式有一个元素,该元素绑定到UserControl.DataContext中定义的viewmodel。这可能与此有关吗?

试试看

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/[Project name];component/Themes/GridStyle.xaml"/>
            <ResourceDictionary Source="/[Project name];component/Themes/Styles.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>


检查Style.xaml中的所有引用,如果可以,在Blend中打开该文件,它将向您显示有关错误的更多信息,而不是Visual StudioReference确定的信息。如果存在到mainpage.xaml中定义的viewmodel的绑定,这会给我带来问题吗?样式中的绑定是什么样子的?在组合框上选择EdItem=“{binding Cell.Grid.DataContext.WeightItemSource,RelativeSource={RelativeSource TemplatedParent},Mode=TwoWay}”