private static Uri CreateBaseUriFromAssemblyFullName(Assembly assembly)
        {
            Debug.Assert(assembly != null);

            var fullName               = assembly.FullName;
            var assemblyName           = SharedThemeResourceDictionary.GetAssemblyName(fullName);
            var assemblyVersion        = SharedThemeResourceDictionary.GetAssemblyVersion(fullName);
            var assemblyPublicKeyToken = SharedThemeResourceDictionary.GetAssemblyPublicKeyToken(fullName);

            return(SharedThemeResourceDictionary.CreateUri(assemblyName, assemblyVersion, assemblyPublicKeyToken, string.Empty));
        }
        private static string ParseAssemblyVersion(string version)
        {
            var symbol = SharedThemeResourceDictionary.UriAssemblyVersionSymbol;

            if (string.IsNullOrEmpty(version) || !version.StartsWith(symbol, StringComparison.InvariantCultureIgnoreCase))
            {
                return(version);
            }

            Version ver;

            if (!Version.TryParse(version.Substring(symbol.Length), out ver))
            {
                return(version);
            }

            return(SharedThemeResourceDictionary.GetAssemblyVersion(ver));
        }