public static void RemoveInstance(SortIndicatorController Instance) { if (CurrentInstance.Contains(Instance)) { CurrentInstance.Remove(Instance); } }
public static SortIndicatorController CreateNewInstance() { SortIndicatorController NewInstance = new SortIndicatorController(); CurrentInstance.Add(NewInstance); return(NewInstance); }
public async Task ModifySortWayAsync(string Path, SortTarget?SortTarget = null, SortDirection?SortDirection = null) { if (SortTarget == Class.SortTarget.OriginPath || SortTarget == Class.SortTarget.Path) { throw new NotSupportedException("SortTarget.Path and SortTarget.OriginPath is not allow in this method"); } if (SortTarget.HasValue) { this.SortTarget = SortTarget.Value; } if (SortDirection.HasValue) { this.SortDirection = SortDirection.Value; } await SQLite.Current.SetPathConfiguration(new PathConfiguration(Path, this.SortTarget, this.SortDirection)).ConfigureAwait(true); SortIndicatorController.SetIndicatorStatus(this.SortTarget, this.SortDirection); }
public void ModifySortWay(SortTarget?SortTarget = null, SortDirection?SortDirection = null) { if (SortTarget == Class.SortTarget.OriginPath || SortTarget == Class.SortTarget.Path) { throw new NotSupportedException("SortTarget.Path and SortTarget.OriginPath is not allow in this method"); } if (SortTarget.HasValue) { this.SortTarget = SortTarget.Value; ApplicationData.Current.LocalSettings.Values["CollectionSortTarget"] = Enum.GetName(typeof(SortTarget), SortTarget); } if (SortDirection.HasValue) { this.SortDirection = SortDirection.Value; ApplicationData.Current.LocalSettings.Values["CollectionSortDirection"] = Enum.GetName(typeof(SortDirection), SortDirection); } SortIndicatorController.SetIndicatorStatus(this.SortTarget, this.SortDirection); }
public ListViewHeaderController() { Filter = new FilterController(); Indicator = new SortIndicatorController(); }
private static void SetIndicatorCore(SortIndicatorController Instance, SortTarget Target, SortDirection Direction) { switch (Target) { case SortTarget.Name: { Instance.Indicator1Icon = new FontIcon { Glyph = Direction == SortDirection.Ascending ? UpArrowIcon : DownArrowIcon }; Instance.Indicator1Visibility = Visibility.Visible; Instance.Indicator2Visibility = Visibility.Collapsed; Instance.Indicator3Visibility = Visibility.Collapsed; Instance.Indicator4Visibility = Visibility.Collapsed; break; } case SortTarget.ModifiedTime: { Instance.Indicator2Icon = new FontIcon { Glyph = Direction == SortDirection.Ascending ? UpArrowIcon : DownArrowIcon }; Instance.Indicator1Visibility = Visibility.Collapsed; Instance.Indicator2Visibility = Visibility.Visible; Instance.Indicator3Visibility = Visibility.Collapsed; Instance.Indicator4Visibility = Visibility.Collapsed; break; } case SortTarget.Type: { Instance.Indicator3Icon = new FontIcon { Glyph = Direction == SortDirection.Ascending ? UpArrowIcon : DownArrowIcon }; Instance.Indicator1Visibility = Visibility.Collapsed; Instance.Indicator2Visibility = Visibility.Collapsed; Instance.Indicator3Visibility = Visibility.Visible; Instance.Indicator4Visibility = Visibility.Collapsed; break; } case SortTarget.Size: { Instance.Indicator4Icon = new FontIcon { Glyph = Direction == SortDirection.Ascending ? UpArrowIcon : DownArrowIcon }; Instance.Indicator1Visibility = Visibility.Collapsed; Instance.Indicator2Visibility = Visibility.Collapsed; Instance.Indicator3Visibility = Visibility.Collapsed; Instance.Indicator4Visibility = Visibility.Visible; break; } default: { throw new NotSupportedException("SortTarget is not supported"); } } Instance.PropertyChanged?.Invoke(Instance, new PropertyChangedEventArgs(nameof(Indicator1Icon))); Instance.PropertyChanged?.Invoke(Instance, new PropertyChangedEventArgs(nameof(Indicator2Icon))); Instance.PropertyChanged?.Invoke(Instance, new PropertyChangedEventArgs(nameof(Indicator3Icon))); Instance.PropertyChanged?.Invoke(Instance, new PropertyChangedEventArgs(nameof(Indicator4Icon))); Instance.PropertyChanged?.Invoke(Instance, new PropertyChangedEventArgs(nameof(Indicator1Visibility))); Instance.PropertyChanged?.Invoke(Instance, new PropertyChangedEventArgs(nameof(Indicator2Visibility))); Instance.PropertyChanged?.Invoke(Instance, new PropertyChangedEventArgs(nameof(Indicator3Visibility))); Instance.PropertyChanged?.Invoke(Instance, new PropertyChangedEventArgs(nameof(Indicator4Visibility))); }