public EditMix(MixViewModel mixToEdit) { this.InitializeComponent(); this.DataContext = mixToEdit; SortTypeComboBox.ItemsSource = AllSortTypes; SelectableOption <MixSortOrder> selectedTypeEntry = AllSortTypes.Where((m) => { return(m.Type == (Mix.SortType & MixSortOrder.PROPERTY_MASK) || m.Type == Mix.SortType); }).FirstOrDefault(); SortTypeComboBox.SelectedItem = selectedTypeEntry; SortOrderComboBox.ItemsSource = AllSortOrders; SelectableOption <MixSortOrder> selectedOrderEntry = AllSortOrders.Where((m) => { return(m.Type == (Mix.SortType & MixSortOrder.ORDER_MASK) || m.Type == Mix.SortType); }).FirstOrDefault(); SortOrderComboBox.SelectedItem = selectedOrderEntry; RootMixEntry.LoadEvaluator(mixToEdit.RootEvaluator); RootMixEntry.TextBotGotFocus += HandleMixLimitTextBoxGotFocus; RootMixEntry.TextBotLostFocus += HandleMixLimitTextBoxLostFocus; }
private void HandleContentDialogPrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args) { if ((deleteMix.IsChecked.HasValue && deleteMix.IsChecked.Value) && (deleteMixConfirm.IsChecked.HasValue && deleteMixConfirm.IsChecked.Value)) { LibraryViewModel.Current.DeleteMix(Mix); } else { Mix.Name = editMixName.Text; if (mixLimitCheckBox.IsChecked.HasValue) { Mix.HasLimit = mixLimitCheckBox.IsChecked.Value; } uint newMixLimit; if (uint.TryParse(mixLimitTextBox.Text, out newMixLimit)) { Mix.Limit = newMixLimit; } if (mixHiddenCheckBox.IsChecked.HasValue) { Mix.IsHidden = mixHiddenCheckBox.IsChecked.Value; } SelectableOption <MixSortOrder> selectedType = DebugHelper.CastAndAssert <SelectableOption <MixSortOrder> >(SortTypeComboBox.SelectedItem); SelectableOption <MixSortOrder> selectedOrder = DebugHelper.CastAndAssert <SelectableOption <MixSortOrder> >(SortOrderComboBox.SelectedItem); Mix.SortType = selectedType.Type | selectedOrder.Type; IMixEvaluator mixEval = RootMixEntry.ConvertToEvaluator(); Mix.SetEvaluator(mixEval); Mix.Reset(); } }