private static void OnItemsSourcesChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { JSpinner spinner = d as JSpinner; if (spinner.ItemsSources != null) { foreach (var itemSource in spinner.ItemsSources) { if (itemSource is IEnumerable <string> newCollection && newCollection != null) { spinner._ItemsSourcesDict[spinner._ItemsSourcesDict.Count] = newCollection.ToList(); spinner._ItemsSourcesValueDict[spinner._ItemsSourcesValueDict.Count] = 0; } else if (itemSource is IEnumerable enumerable && enumerable != null) { List <string> strs = new List <string>(); foreach (var item in enumerable) { strs.Add(item.ToString()); } spinner._ItemsSourcesDict[spinner._ItemsSourcesDict.Count] = strs; spinner._ItemsSourcesValueDict[spinner._ItemsSourcesValueDict.Count] = 0; } } } }
private static void OnItemsSourcesIndexChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { JSpinner spinner = d as JSpinner; int newValue = (int)e.NewValue; if (newValue >= 0 && newValue < spinner._ItemsSourcesDict.Count) { spinner.ItemsSource = spinner._ItemsSourcesDict[newValue]; spinner.Value = spinner._ItemsSourcesValueDict[newValue]; } }
private static object OnMinimumChangedCallBack(DependencyObject d, object baseValue) { JSpinner spinner = d as JSpinner; int newValue = (int)baseValue; if (newValue < spinner.Maximum) { return(newValue); } else { return(spinner.Minimum); } }
private static void OnItemsSourceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { JSpinner spinner = d as JSpinner; if (e.NewValue is IEnumerable <string> newCollection && newCollection != null) { spinner._TextList = newCollection.ToList(); spinner.GetNewCollection(); } else if (e.NewValue is IEnumerable enumerable && enumerable != null) { spinner._TextList = new List <string>(); foreach (var item in enumerable) { spinner._TextList.Add(item.ToString()); } spinner.GetNewCollection(); } }