Exemplo n.º 1
0
        public override int CompareTo(Asset other)
        {
            ResourceAsset resourceAsset = other as ResourceAsset;

            if (resourceAsset == null)
            {
                return(base.CompareTo(other));
            }
            int num1 = string.CompareOrdinal(this.name, resourceAsset.name);

            if (num1 != 0)
            {
                return(num1);
            }
            int num2 = string.CompareOrdinal(this.location, resourceAsset.location);

            if (num2 != 0)
            {
                return(num2);
            }
            return(0);
        }
Exemplo n.º 2
0
 protected override bool UpdateAssets()
 {
     foreach (ResourceAssetProvider resourceAssetProvider in (IEnumerable <AssetProvider>) this.AssetProviders)
     {
         if (resourceAssetProvider.Assets.Count > 0)
         {
             resourceAssetProvider.Assets.Clear();
             this.NeedsUpdate = true;
         }
     }
     this.currentDocument = this.designerContext.ActiveDocument;
     if (this.designerContext.ActiveDocument != null && this.designerContext.ActiveDocument.XamlDocument != null)
     {
         IEnumerable <IDocumentRoot> source = (IEnumerable <IDocumentRoot>)null;
         if (this.designerContext.ActiveDocument.ProjectContext != null)
         {
             source = Enumerable.Select <IProjectDocument, IDocumentRoot>(Enumerable.Where <IProjectDocument>((IEnumerable <IProjectDocument>) this.designerContext.ActiveDocument.ProjectContext.Documents, (Func <IProjectDocument, bool>)(document => document.DocumentType == ProjectDocumentType.ResourceDictionary)), (Func <IProjectDocument, IDocumentRoot>)(document => document.DocumentRoot));
         }
         foreach (DocumentCompositeNode resourceNode in this.designerContext.ResourceManager.GetResourcesInRootScope(PlatformTypes.Object, ResourceResolutionFlags.IncludeApplicationResources | ResourceResolutionFlags.UniqueKeysOnly))
         {
             if (source == null || !Enumerable.Contains <IDocumentRoot>(source, resourceNode.DocumentRoot))
             {
                 ResourceModel resourceModel = new ResourceModel(resourceNode);
                 foreach (ResourceAssetProvider resourceAssetProvider in (IEnumerable <AssetProvider>) this.AssetProviders)
                 {
                     if (resourceAssetProvider.IsResourceValid(resourceModel))
                     {
                         ResourceAsset asset = resourceAssetProvider.CreateAsset(resourceModel);
                         resourceAssetProvider.Assets.Add((Asset)asset);
                         this.NeedsUpdate = true;
                     }
                 }
             }
         }
     }
     this.resourceChangeStamp = this.designerContext.ResourceManager.ResourceChangeStamp;
     return(base.UpdateAssets());
 }