我有一个使用ResourceDisctionary的本地化dll,如
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:cultures="clr-namespace:My_Localization.Cultures"
xmlns:properties="clr-namespace:My_Localization.Properties">
<ObjectDataProvider x:Key="Resources" ObjectType="{x:Type cultures:CultureResources}" MethodName="GetResourceInstance"/>
</ResourceDictionary>
在另一个dll中,我将此资源字典添加到
下<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/My Localization;component/ResourcesDict.xaml"/>
</ResourceDictionary.MergedDictionaries>
<BooleanToVisibilityConverter x:Key="BoolToVisibilityConverter"/>
</ResourceDictionary>
</Window.Resources>
在我的本地化dll中我有一个属性
private static ObjectDataProvider m_provider;
public static ObjectDataProvider ResourceProvider
{
get
{
if (m_provider == null)
// crashes here
m_provider =(ObjectDataProvider)Application.Current.FindResource("Resources");
return m_provider;
}
}
当我尝试访问此属性时,我的应用程序崩溃了。我得到以下异常:
对象引用未设置为对象的实例(Application.current为null)
任何人都可以帮忙,为什么我的dll找不到资源?