整理
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Reflection;
|
||||
using NeumUI.Extensions;
|
||||
using NeoUI.Extensions;
|
||||
|
||||
namespace NeumUI.Appearance;
|
||||
namespace NeoUI.Appearance;
|
||||
|
||||
/// <summary>
|
||||
/// 管理资源字典
|
||||
@@ -22,13 +22,14 @@ internal class ResourceDictionaryManager
|
||||
/// <returns><see cref="ResourceDictionary"/>, <see langword="null"/>如果不存在,返回null</returns>
|
||||
public ResourceDictionary? LookupDictionary(string resourceLookup)
|
||||
{
|
||||
Collection<ResourceDictionary> applicationDictionaries = ThemeManager.Current.Resources.MergedDictionaries;
|
||||
Collection<ResourceDictionary>? applicationDictionaries = ThemeManager.Current?.Resources.MergedDictionaries;
|
||||
|
||||
if (applicationDictionaries.Count == 0)
|
||||
if (applicationDictionaries is { Count: 0 })
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if (applicationDictionaries == null) return null;
|
||||
foreach (var t in applicationDictionaries)
|
||||
{
|
||||
string resourceDictionaryUri;
|
||||
@@ -36,7 +37,7 @@ internal class ResourceDictionaryManager
|
||||
if (t?.Source != null)
|
||||
{
|
||||
resourceDictionaryUri = t.Source.ToString();
|
||||
if (resourceDictionaryUri.Contains(SearchNamespace, StringComparison.OrdinalIgnoreCase) &&
|
||||
if (resourceDictionaryUri.Contains(SearchNamespace, StringComparison.OrdinalIgnoreCase) &&
|
||||
resourceDictionaryUri.Contains(resourceLookup, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
return t;
|
||||
@@ -52,7 +53,7 @@ internal class ResourceDictionaryManager
|
||||
|
||||
resourceDictionaryUri = t1.Source.ToString();
|
||||
|
||||
if (resourceDictionaryUri.Contains(SearchNamespace, StringComparison.OrdinalIgnoreCase)&&
|
||||
if (resourceDictionaryUri.Contains(SearchNamespace, StringComparison.OrdinalIgnoreCase) &&
|
||||
resourceDictionaryUri.Contains(resourceLookup, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
return t1;
|
||||
@@ -73,17 +74,17 @@ internal class ResourceDictionaryManager
|
||||
{
|
||||
// 获取应用程序的合并资源字典集合
|
||||
var applicationDictionaries = ThemeManager
|
||||
.Current
|
||||
.Resources
|
||||
.Current?.Resources
|
||||
.MergedDictionaries;
|
||||
|
||||
// 如果没有资源字典或新的Uri为空,则返回false
|
||||
if (applicationDictionaries.Count == 0 || newResourceUri is null)
|
||||
if (applicationDictionaries is { Count: 0 } || newResourceUri is null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// 遍历顶层资源字典
|
||||
if (applicationDictionaries == null) return false;
|
||||
for (var i = 0; i < applicationDictionaries.Count; i++)
|
||||
{
|
||||
string sourceUri;
|
||||
@@ -124,6 +125,7 @@ internal class ResourceDictionaryManager
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 未找到匹配的资源字典,返回false
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user