public MediaCharacterConditionViewModel(Condition condition, ReadOnlyObservableCollection <string> allCharacterTags, EventHandler deleted = null) { Cond = condition; Cond.CreateObject = new Func <object>(() => { var character = new MediaCharacter(Constants.Filter.Wildcard); Character = new MediaCharacterViewModel(character, allCharacterTags); return(character); }); if (Cond.Object != null) { Character = new MediaCharacterViewModel(Cond.Object as MediaCharacter, false, allCharacterTags); } else { Character = new MediaCharacterViewModel(new MediaCharacter(string.Empty), allCharacterTags); } ((INotifyCollectionChanged)Cond.Conditions).CollectionChanged += ConditionsChanged; Conditions = new MvxObservableCollection <MediaCharacterConditionViewModel>(); if (deleted != null) { Deleted += deleted; } _allCharacterTags = allCharacterTags; }
private MediaCharacterViewModel(MediaCharacter character, bool isNameReadOnly, EventHandler deleted, ReadOnlyObservableCollection <string> allCharacterTags) { Character = character; ((INotifyCollectionChanged)Character.Tags).CollectionChanged += TagsChanged; Tags = new MvxObservableCollection <MediaTagViewModel>(); foreach (MediaTag tag in character.Tags) { Tags.Add(new MediaTagViewModel(tag, TagDeleted)); } NewTag = string.Empty; IsNameReadOnly = isNameReadOnly; if (deleted != null) { Deleted += deleted; } AllCharacterTags = allCharacterTags; }
public MediaCharacterViewModel(MediaCharacter character, bool isNameReadOnly, ReadOnlyObservableCollection <string> allCharacterTags) : this(character, isNameReadOnly, null, allCharacterTags) { }
public MediaCharacterViewModel(MediaCharacter character, EventHandler deleted, ReadOnlyObservableCollection <string> allCharacterTags) : this(character, true, deleted, allCharacterTags) { }
public MediaCharacterViewModel(MediaCharacter character, ReadOnlyObservableCollection <string> allCharacterTags) : this(character, true, null, allCharacterTags) { }