private void SetConsumedResource(IResourceFileItem resource) { var obj = this.Resource; this.ReleaseConsumedResource(); this.consumedFileResource = resource; if (!Equals(obj, this.Resource)) { this.RaiseReferenceChanged(); } }
private void UnsubscribeOnNameChange(IResourceFileItem item) { item.PropertyChanged -= this.ItemPropertyChanged; item.PropertyChanging -= this.ItemPropertyChanging; }
private void ReleaseConsumedResource() { if (this.consumedResource != null) { var np = this.consumedResource as INotifyPropertyChanged; if (np != null) { np.PropertyChanged -= this.ConsumedResourcePropertyChanged; } this.resourceManager.ReleaseResource(this.consumedResource.Type, this.consumedResource.Hash); this.consumedResource = null; } this.consumedFileResource = null; }
private void ShowEditorFor(IResourceFileItem managed) { var controlCollection = this.itemsPropertiesSplitter.Panel2.Controls; if (managed == null) { return; //while (controlCollection.Count > 0) //{ // var c = controlCollection[0]; // controlCollection.RemoveAt(0); // c.Dispose(); //} //itemsPropertiesSplitter.Panel2Collapsed = true; //return; } if (controlCollection.Count > 0) { var existingView = (controlCollection[0] as IView); if (existingView != null) { var existingValue = existingView.DataContext.Value; if (existingValue != null) { if (managed.Resource.GetType() == existingValue.GetType()) { existingView.DataContext.Value = managed.Resource; return; } } } } while (controlCollection.Count > 0) { var c = controlCollection[0]; controlCollection.RemoveAt(0); c.Dispose(); } var view = this.editorEnvironment.EditorFor(managed.Resource, this.history); view.DataContext.Value = managed.Resource; var v = view as Control; v.Dock = DockStyle.Fill; controlCollection.Add(v); this.currentEditor = view as IEditorView; this.itemsPropertiesSplitter.Panel2Collapsed = false; }