/// <summary> /// Converting source value to target value /// </summary> /// <param name="value">Source object</param> /// <param name="targetType">The target type to convert</param> /// <param name="parameter">parameter object</param> /// <param name="culture">The culture info</param> /// <returns>Returns converted bool to decide UI widget's visibility</returns> public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { int count = System.Convert.ToInt32(value); MainPageType type = (MainPageType)parameter; bool flag = false; switch (type) { case MainPageType.ListView: case MainPageType.Button: flag = false; break; case MainPageType.Empty: default: flag = true; break; } //Console.WriteLine($"[ItemCountToVisibilityConverter] type:{type}, flag:{flag}, count:{count}"); if (count == 0) { return((bool)System.Convert.ToBoolean(flag)); } return((bool)!System.Convert.ToBoolean(flag)); }
private void OpenPage(MainPageType pageType) { switch (pageType) { case MainPageType.Dial: DependencyService.Resolve <INavigationService>().Push(new NavigationView(new ContactDialListPage(), true)); break; case MainPageType.Settings: DependencyService.Resolve <INavigationService>().Push(new NavigationView(new SettingsPage())); break; case MainPageType.Contacts: DependencyService.Resolve <INavigationService>().Push(new NavigationView(new ContactsListPage(), true)); break; case MainPageType.Source: DependencyService.Resolve <INavigationService>().Push(new NavigationView(new PinEntryPage(), true)); break; case MainPageType.Power: CurrentPartial = CurrentPartial == _timePartial ? _powerControlPartial : _timePartial; break; } }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { int count = System.Convert.ToInt32(value); MainPageType pageType = (MainPageType)parameter; bool flag; switch (pageType) { case MainPageType.ListView: case MainPageType.Button: flag = false; break; case MainPageType.Empty: default: flag = true; break; } if (count > 0) { flag = !flag; } return(System.Convert.ToBoolean(flag)); }