Пример #1
0
 private static void ToolbarIsActionBarChanged(Toolbar toolbar, AttachedMemberChangedEventArgs <bool> args)
 {
     if (args.NewValue)
     {
         (toolbar.Context.GetActivity() as AppCompatActivity)?.SetSupportActionBar(toolbar);
     }
 }
Пример #2
0
 private static void ToolbarIsActionBarChanged(Toolbar view, AttachedMemberChangedEventArgs <bool> args)
 {
     if (args.NewValue)
     {
         view.Context.GetActivity()?.SetActionBar(view);
     }
 }
Пример #3
0
        private static void BusyMessageChanged(UIView uiView, AttachedMemberChangedEventArgs <object> args)
        {
            //Ignoring view and set overlay over main window
            uiView = UIApplication.SharedApplication.Windows[0];
            LoadingOverlay busyIndicator = BusyViewMember.GetValue(uiView, null);

            busyIndicator.BusyMessage = args.NewValue == null ? null : args.NewValue.ToString();
        }
Пример #4
0
        private static void ActionBarSelectedItemChanged(ActionBar actionBar, AttachedMemberChangedEventArgs <object> args)
        {
            switch (actionBar.GetNavigationMode())
            {
            case ActionBarNavigationMode.List:
#if APPCOMPAT
                var adapter = actionBar.GetBindingMemberValue(AttachedMembersCompat.ActionBar.ItemsSourceAdapter);
#else
                var adapter = actionBar.GetBindingMemberValue(AttachedMembers.ActionBar.ItemsSourceAdapter);
#endif

                if (adapter == null || adapter.ItemsSource == null)
                {
                    return;
                }
                if (args.NewValue == null)
                {
                    args.Member.SetSingleValue(actionBar, adapter.GetRawItem(actionBar.SelectedNavigationIndex));
                }
                else
                {
                    actionBar.SetSelectedNavigationItem(adapter.GetPosition(args.NewValue));
                }
                break;

            case ActionBarNavigationMode.Tabs:
#if APPCOMPAT
                var tabGenerator = actionBar.GetBindingMemberValue(AttachedMembersCompat.ActionBar.ItemsSourceGenerator) as IItemsSourceGeneratorEx;
#else
                var tabGenerator = actionBar.GetBindingMemberValue(AttachedMembers.ActionBar.ItemsSourceGenerator) as IItemsSourceGeneratorEx;
#endif
                if (tabGenerator == null)
                {
                    var tabValue = args.NewValue as ActionBar.Tab;
                    if (tabValue != null && tabValue.Position != actionBar.SelectedNavigationIndex)
                    {
                        tabValue.Select();
                    }
                }
                else
                {
                    if (args.NewValue == null)
                    {
                        object ctx = actionBar.SelectedNavigationIndex < 0 ? null : actionBar.SelectedTab;
                        if (ctx != null)
                        {
                            ctx = ctx.DataContext();
                        }
                        args.Member.SetSingleValue(actionBar, ctx);
                    }
                    else
                    {
                        tabGenerator.SelectedItem = args.NewValue;
                    }
                }
                break;
            }
        }
Пример #5
0
 /// <summary>
 ///     Called every time when value changed.
 /// </summary>
 private static void TextExtMemberChanged(TextView textBlock, AttachedMemberChangedEventArgs <string> args)
 {
     ServiceProvider
     .IocContainer
     .Get <IToastPresenter>()
     .ShowAsync(string.Format("Invoking TextExtMemberChanged on {2} old value {0} new value {1}", args.OldValue,
                              args.NewValue, textBlock.Id), ToastDuration.Short);
     textBlock.Text = string.Format("Old value \"{0}\" new value \"{1}\"", args.OldValue, args.NewValue);
 }
Пример #6
0
        private static void ToolbarMenuTemplateChanged(Toolbar toolbar, AttachedMemberChangedEventArgs <int> args)
        {
            Activity activity = toolbar.Context.GetActivity();

            if (activity != null)
            {
                activity.MenuInflater.Inflate(args.NewValue, toolbar.Menu, toolbar);
            }
        }
Пример #7
0
        private static void AdapterViewSelectedItemChanged(AdapterView sender, AttachedMemberChangedEventArgs <object> args)
        {
            var adapter = GetAdapter(sender) as IItemsSourceAdapter;

            if (adapter != null)
            {
                sender.SetBindingMemberValue(AttachedMembers.AdapterView.SelectedItemPosition, adapter.GetPosition(args.NewValue));
            }
        }
Пример #8
0
        private static void TabHostSelectedItemChanged(TabHost tabHost, AttachedMemberChangedEventArgs <object> arg)
        {
            var generator = tabHost.GetBindingMemberValue(AttachedMembers.ViewGroup.ItemsSourceGenerator) as IItemsSourceGeneratorEx;

            if (generator != null)
            {
                generator.SelectedItem = arg.NewValue;
            }
        }
        private static void TabHostTemplateChanged <T>(TabHost tabHost, AttachedMemberChangedEventArgs <T> args)
        {
            var generator = tabHost.GetBindingMemberValue(AttachedMembers.ViewGroup.ItemsSourceGenerator);

            if (generator != null)
            {
                generator.Reset();
            }
        }
Пример #10
0
        private static void TabHostSelectedItemChanged(TabHost tabHost, AttachedMemberChangedEventArgs <object> arg)
        {
            var generator = ItemsSourceGeneratorBase.Get(tabHost) as TabHostItemsSourceGenerator;

            if (generator != null)
            {
                generator.SetSelectedItem(arg.NewValue);
            }
        }
Пример #11
0
        private static void TabHostTemplateChanged <T>(TabHost tabHost, AttachedMemberChangedEventArgs <T> args)
        {
            var generator = ItemsSourceGeneratorBase.Get(tabHost);

            if (generator != null)
            {
                generator.Reset();
            }
        }
        private static void ToolbarMenuTemplateChanged(Toolbar view, AttachedMemberChangedEventArgs <int> args)
        {
            var activity = view.Context.GetActivity();

            if (activity != null)
            {
                activity.MenuInflater.Inflate(args.NewValue, view.Menu, view);
            }
        }
Пример #13
0
 private static void OnImageUrlChanged(PictureBox pictureBox, AttachedMemberChangedEventArgs <string> args)
 {
     if (string.IsNullOrEmpty(args.NewValue))
     {
         return;
     }
     //for example you can use any cache library to load image
     pictureBox.ImageLocation = args.NewValue;
 }
Пример #14
0
 /// <summary>
 ///     Called every time when value changed.
 /// </summary>
 private static void TextExtMemberChanged(TextView textBlock, AttachedMemberChangedEventArgs<string> args)
 {
     ServiceProvider
         .IocContainer
         .Get<IToastPresenter>()
         .ShowAsync(string.Format("Invoking TextExtMemberChanged on {2} old value {0} new value {1}", args.OldValue,
                 args.NewValue, textBlock.Id), ToastDuration.Short);
     textBlock.Text = string.Format("Old value \"{0}\" new value \"{1}\"", args.OldValue, args.NewValue);
 }
        private static void MenuItemsSourceChanged(IMenu menu, AttachedMemberChangedEventArgs <IEnumerable> args)
        {
            var generator = menu.GetBindingMemberValue(AttachedMembers.Menu.ItemsSourceGenerator);

            if (generator != null)
            {
                generator.SetItemsSource(args.NewValue);
            }
        }
Пример #16
0
 private static void OnImageUrlChanged(Image image, AttachedMemberChangedEventArgs <string> args)
 {
     if (string.IsNullOrEmpty(args.NewValue))
     {
         return;
     }
     //for example you can use any cache library to load image
     image.Source = ImageSource.FromUri(new Uri(args.NewValue));
 }
        private static void MenuItemsSourceChanged(IMenu menu, AttachedMemberChangedEventArgs <IEnumerable> args)
        {
            var generator = ItemsSourceGeneratorBase.Get(menu);

            if (generator != null)
            {
                generator.SetItemsSource(args.NewValue);
            }
        }
 private static void PreferenceGroupItemsSourceChanged(PreferenceGroup preference, AttachedMemberChangedEventArgs<IEnumerable> args)
 {
     var sourceGenerator = preference.GetBindingMemberValue(AttachedMembers.PreferenceGroup.ItemsSourceGenerator);
     if (sourceGenerator == null)
     {
         sourceGenerator = new PreferenceItemsSourceGenerator(preference);
         preference.SetBindingMemberValue(AttachedMembers.PreferenceGroup.ItemsSourceGenerator, sourceGenerator);
     }
     sourceGenerator.SetItemsSource(args.NewValue);
 }
 private static void RecyclerViewItemsSourceChanged(global::Android.Support.V7.Widget.RecyclerView recyclerView, AttachedMemberChangedEventArgs<IEnumerable> args)
 {
     var adapter = recyclerView.GetAdapter() as ItemsSourceRecyclerAdapter;
     if (adapter == null)
     {
         adapter = new ItemsSourceRecyclerAdapter();
         recyclerView.SetAdapter(adapter);
     }
     adapter.ItemsSource = args.NewValue;
 }
 private static void BusyMessageChanged(View view, AttachedMemberChangedEventArgs<string> args)
 {
     var dialog = ProgressDialogAttachedProperty.GetValue(view, null);
     if (dialog == null)
     {
         dialog = new ProgressDialog(view.Context);
         ProgressDialogAttachedProperty.SetValue(view, dialog);
     }
     dialog.SetMessage(args.NewValue);
 }
Пример #21
0
 /// <summary>
 ///     Called every time when value changed.
 /// </summary>
 private static void TextExtMemberChanged(UILabel textBlock, AttachedMemberChangedEventArgs<string> args)
 {
     if (!ServiceProvider.DesignTimeManager.IsDesignMode)
         ServiceProvider
             .IocContainer
             .Get<IToastPresenter>()
             .ShowAsync(string.Format("Invoking TextExtMemberChanged on {2} old value {0} new value {1}", args.OldValue,
                     args.NewValue, textBlock.AccessibilityLabel), ToastDuration.Short);
     textBlock.Text = string.Format("Old value \"{0}\" new value \"{1}\"", args.OldValue, args.NewValue);
 }
 private static void IsBusyChanged(UIView uiView, AttachedMemberChangedEventArgs<bool> args)
 {
     //Ignoring view and set overlay over main window
     uiView = UIApplication.SharedApplication.Windows[0];
     LoadingOverlay busyIndicator = BusyViewMember.GetValue(uiView, null);
     if (args.NewValue)
         busyIndicator.Show(uiView);
     else
         busyIndicator.Hide();
 }
Пример #23
0
        private static void BusyMessageChanged(View view, AttachedMemberChangedEventArgs <string> args)
        {
            var dialog = ProgressDialogAttachedProperty.GetValue(view, null);

            if (dialog == null)
            {
                dialog = new ProgressDialog(view.Context);
                ProgressDialogAttachedProperty.SetValue(view, dialog);
            }
            dialog.SetMessage(args.NewValue);
        }
Пример #24
0
        private static void TabHostItemsSourceChanged(TabHost tabHost, AttachedMemberChangedEventArgs <IEnumerable> arg)
        {
            var generator = tabHost.GetBindingMemberValue(AttachedMembers.ViewGroup.ItemsSourceGenerator);

            if (generator == null)
            {
                generator = new TabHostItemsSourceGenerator(tabHost);
                tabHost.SetBindingMemberValue(AttachedMembers.ViewGroup.ItemsSourceGenerator, generator);
            }
            generator.SetItemsSource(arg.NewValue);
        }
Пример #25
0
        private static void TabLayoutItemsSourceChanged(TabLayout view, AttachedMemberChangedEventArgs <IEnumerable> args)
        {
            var generator = view.GetBindingMemberValue(AttachedMembers.ViewGroup.ItemsSourceGenerator);

            if (generator == null)
            {
                generator = new TabLayoutItemsSourceGenerator(view);
                view.SetBindingMemberValue(AttachedMembers.ViewGroup.ItemsSourceGenerator, generator);
            }
            generator.SetItemsSource(args.NewValue);
        }
        private static void ObjectItemsSourceChanged(object control, AttachedMemberChangedEventArgs <IEnumerable> args)
        {
            var generator = control.GetBindingMemberValue(ItemsSourceGeneratorBase.MemberDescriptor);

            if (generator == null)
            {
                generator = new ItemsSourceGenerator(control);
                control.SetBindingMemberValue(ItemsSourceGeneratorBase.MemberDescriptor, generator);
            }
            generator.SetItemsSource(args.NewValue);
        }
Пример #27
0
        private static void AdapterViewSelectedItemChanged(AdapterView sender, AttachedMemberChangedEventArgs <object> args)
        {
            var adapter = GetAdapter(sender) as ItemsSourceAdapter;

            if (adapter == null)
            {
                return;
            }
            int position = adapter.GetPosition(args.NewValue);

            AdapterViewSelectedPositionMember.SetValue(sender, position);
        }
Пример #28
0
 /// <summary>
 ///     Called every time when value changed.
 /// </summary>
 private static void TextExtMemberChanged(UILabel textBlock, AttachedMemberChangedEventArgs <string> args)
 {
     if (!ServiceProvider.DesignTimeManager.IsDesignMode)
     {
         ServiceProvider
         .IocContainer
         .Get <IToastPresenter>()
         .ShowAsync(string.Format("Invoking TextExtMemberChanged on {2} old value {0} new value {1}", args.OldValue,
                                  args.NewValue, textBlock.AccessibilityLabel), ToastDuration.Short);
     }
     textBlock.Text = string.Format("Old value \"{0}\" new value \"{1}\"", args.OldValue, args.NewValue);
 }
Пример #29
0
        private static void ViewPagerSelectedItemChanged(ViewPager sender, AttachedMemberChangedEventArgs <object> args)
        {
            var adapter = sender.Adapter as ItemsSourcePagerAdapter;

            if (adapter == null)
            {
                return;
            }
            int position = adapter.GetPosition(args.NewValue);

            sender.SetBindingMemberValue(AttachedMembersCompat.ViewPager.CurrentItem, position);
        }
Пример #30
0
        private static void OnImageUrlChanged(Image image, AttachedMemberChangedEventArgs <string> args)
        {
            if (string.IsNullOrEmpty(args.NewValue))
            {
                return;
            }
            //for example you can use any cache library to load image
#if NETFX_CORE
            image.Source = new BitmapImage(new Uri(args.NewValue));
#else
            image.Source = BitmapFrame.Create(new Uri(args.NewValue));
#endif
        }
Пример #31
0
        private static void ToolbarIsActionBarChanged(Toolbar toolbar, AttachedMemberChangedEventArgs <bool> args)
        {
            if (!args.NewValue)
            {
                return;
            }
            var activity = toolbar.Context.GetActivity() as AppCompatActivity;

            if (activity != null)
            {
                activity.SetSupportActionBar(toolbar);
            }
        }
Пример #32
0
        private static void ViewPagerCurrentItemChanged(ViewPager sender, AttachedMemberChangedEventArgs <int> args)
        {
            sender.CurrentItem = args.NewValue;
            var adapter = sender.Adapter as ItemsSourcePagerAdapter;

            if (adapter == null)
            {
                return;
            }
            object item = adapter.GetRawItem(sender.CurrentItem);

            sender.SetBindingMemberValue(AttachedMembersCompat.ViewPager.SelectedItem, item);
        }
Пример #33
0
        private static void ViewGroupTemplateChanged <T>(ViewGroup sender, AttachedMemberChangedEventArgs <T> args)
        {
            var container = sender as AdapterView;

            if (container == null)
            {
                sender.GetBindingMemberValue(AttachedMembers.ViewGroup.ItemsSourceGenerator)?.Reset();
            }
            else
            {
                (GetAdapter(container) as BaseAdapter)?.NotifyDataSetChanged();
            }
        }
        private static void TableViewItemsSourceChanged(UITableView uiTableView, AttachedMemberChangedEventArgs <IEnumerable> args)
        {
            if (uiTableView.Source == null)
            {
                uiTableView.Source = TouchToolkitExtensions.TableViewSourceFactory(uiTableView, DataContext.Empty);
            }
            var tableViewSource = uiTableView.Source as ItemsSourceTableViewSource;

            if (tableViewSource != null)
            {
                tableViewSource.ItemsSource = args.NewValue;
            }
        }
        private static void ToolbarIsActionBarChanged(Toolbar view, AttachedMemberChangedEventArgs <bool> args)
        {
            if (!args.NewValue)
            {
                return;
            }
            var activity = view.Context.GetActivity();

            if (activity != null)
            {
                activity.SetActionBar(view);
            }
        }
Пример #36
0
        private static void PopupMenuEventChanged(View view, AttachedMemberChangedEventArgs <string> args)
        {
            if (string.IsNullOrEmpty(args.NewValue))
            {
                return;
            }
            IBindingMemberInfo member = BindingServiceProvider
                                        .MemberProvider
                                        .GetBindingMember(view.GetType(), args.NewValue, false, true);
            var presenter    = ServiceProvider.AttachedValueProvider.GetOrAdd(view, "!@popup", (view1, o) => new PopupMenuPresenter(view1), null);
            var unsubscriber = member.SetSingleValue(view, presenter) as IDisposable;

            presenter.Update(unsubscriber);
        }
 private static void IsBusyChanged(View view, AttachedMemberChangedEventArgs<bool> args)
 {
     var dialog = ProgressDialogAttachedProperty.GetValue(view, null);
     if (dialog == null)
     {
         dialog = new ProgressDialog(view.Context);
         dialog.SetCancelable(false);
         ProgressDialogAttachedProperty.SetValue(view, dialog);
     }
     if (args.NewValue)
         dialog.Show();
     else
         dialog.Dismiss();
 }
 private static void IsBusyChanged(Control control, AttachedMemberChangedEventArgs<bool> args)
 {
     BusyIndicator busyIndicator = BusyViewMember.GetValue(control, null);
     if (args.NewValue)
     {
         for (int index = 0; index < control.Controls.Count; index++)
             control.Controls[index].Enabled = false;
         control.Controls.Add(busyIndicator);
         busyIndicator.Left = (control.ClientSize.Width - busyIndicator.Width) / 2;
         busyIndicator.Top = (control.ClientSize.Height - busyIndicator.Height) / 2;
         busyIndicator.BringToFront();
     }
     else
     {
         control.Controls.Remove(busyIndicator);
         for (int index = 0; index < control.Controls.Count; index++)
             control.Controls[index].Enabled = true;
     }
 }
 private static void ObjectItemsSourceChanged(object control, AttachedMemberChangedEventArgs<IEnumerable> args)
 {
     var generator = control.GetBindingMemberValue(ItemsSourceGeneratorBase.MemberDescriptor);
     if (generator == null)
     {
         generator = new ItemsSourceGenerator(control);
         control.SetBindingMemberValue(ItemsSourceGeneratorBase.MemberDescriptor, generator);
     }
     generator.SetItemsSource(args.NewValue);
 }
 private static void ToolbarItemsSourceChanged(UIViewController viewController, AttachedMemberChangedEventArgs<IEnumerable> args)
 {
     GetOrAddToolBarItemsSourceGenerator(viewController).SetItemsSource(args.NewValue);
 }
 private static void TabBarItemsSourceChanged(UITabBarController tabBar, AttachedMemberChangedEventArgs<IEnumerable> args)
 {
     GetOrAddTabBarItemsSourceGenerator(tabBar).SetItemsSource(args.NewValue);
 }
Пример #42
0
 private static void ViewPagerSelectedItemChanged(ViewPager sender, AttachedMemberChangedEventArgs<object> args)
 {
     var adapter = sender.Adapter as ItemsSourcePagerAdapter;
     if (adapter == null)
         return;
     int position = adapter.GetPosition(args.NewValue);
     sender.SetBindingMemberValue(AttachedMembersCompat.ViewPager.CurrentItem, position);
 }
 private static void TabBarSelectedItemChanged(UITabBarController bar, AttachedMemberChangedEventArgs<object> args)
 {
     if (args.NewValue == null)
     {
         bar.SelectedIndex = -1;
         return;
     }
     var controllers = bar.ViewControllers;
     if (controllers == null)
         return;
     for (int index = 0; index < controllers.Length; index++)
     {
         var controller = controllers[index];
         if (controller.DataContext() == args.NewValue)
         {
             bar.SelectedViewController = controller;
             return;
         }
     }
 }
 private static void ContentChanged(Control control, AttachedMemberChangedEventArgs<object> args)
 {
     UpdateContent(control, args.NewValue, control.GetBindingMemberValue(AttachedMembers.Control.ContentTemplateSelector));
 }
 private static void BusyMessageChanged(Control control, AttachedMemberChangedEventArgs<object> args)
 {
     BusyIndicator busyIndicator = BusyViewMember.GetValue(control, null);
     busyIndicator.BusyMessage = args.NewValue;
 }
Пример #46
0
 private static void TabLayoutItemsSourceChanged(TabLayout view, AttachedMemberChangedEventArgs<IEnumerable> args)
 {
     var generator = view.GetBindingMemberValue(AttachedMembers.ViewGroup.ItemsSourceGenerator);
     if (generator == null)
     {
         generator = new TabLayoutItemsSourceGenerator(view);
         view.SetBindingMemberValue(AttachedMembers.ViewGroup.ItemsSourceGenerator, generator);
     }
     generator.SetItemsSource(args.NewValue);
 }
Пример #47
0
 private static void NavigationViewMenuTemplateChanged(NavigationView view,
     AttachedMemberChangedEventArgs<int> args)
 {
     Activity activity = view.Context.GetActivity();
     if (activity != null)
         activity.MenuInflater.Inflate(args.NewValue, view.Menu, view);
 }
 private static void TableViewItemsSourceChanged(UITableView uiTableView, AttachedMemberChangedEventArgs<IEnumerable> args)
 {
     if (uiTableView.Source == null)
         uiTableView.Source = TableViewSourceBase.Factory(uiTableView, DataContext.Empty);
     var tableViewSource = uiTableView.Source as ItemsSourceTableViewSource;
     if (tableViewSource != null)
         tableViewSource.ItemsSource = args.NewValue;
 }
 private static void MenuItemsSourceChanged(IMenu menu, AttachedMemberChangedEventArgs<IEnumerable> args)
 {
     var generator = menu.GetBindingMemberValue(AttachedMembers.Menu.ItemsSourceGenerator);
     if (generator != null)
         generator.SetItemsSource(args.NewValue);
 }
Пример #50
0
 private static void ViewDrawerIsOpenedChanged(View view, AttachedMemberChangedEventArgs<bool> args)
 {
     DrawerLayout drawer = FindDrawer(view);
     if (drawer == null)
         return;
     if (args.NewValue)
         drawer.OpenDrawer(view);
     else
         drawer.CloseDrawer(view);
 }
Пример #51
0
 private static void ToolbarIsActionBarChanged(Toolbar toolbar, AttachedMemberChangedEventArgs<bool> args)
 {
     if (!args.NewValue)
         return;
     var activity = toolbar.Context.GetActivity() as AppCompatActivity;
     if (activity != null)
         activity.SetSupportActionBar(toolbar);
 }
Пример #52
0
 private static void ToolbarMenuTemplateChanged(Toolbar toolbar, AttachedMemberChangedEventArgs<int> args)
 {
     Activity activity = toolbar.Context.GetActivity();
     if (activity != null)
         activity.MenuInflater.Inflate(args.NewValue, toolbar.Menu, toolbar);
 }
 private static void ContentChanged(UIView container, AttachedMemberChangedEventArgs<object> args)
 {
     UpdateContent(container, args.NewValue, container.GetBindingMemberValue(AttachedMembers.UIView.ContentTemplateSelector));
 }
Пример #54
0
        private static void NavigationViewMenuTemplateChanged(NavigationView view,
            AttachedMemberChangedEventArgs<int> args)
        {
            Activity activity = view.Context.GetActivity();
            if (activity != null)
            {
                activity.MenuInflater.Inflate(args.NewValue, view.Menu, view);

                //http://stackoverflow.com/questions/30695038/how-to-programmatically-add-a-submenu-item-to-the-new-material-design-android-su/30706233#30706233
                var menu = view.Menu;
                var size = menu.Size();
                if (size > 0)
                {
                    var item = menu.GetItem(size - 1);
                    item.SetTitle(item.TitleFormatted);
                }
            }
        }
 private static void CollectionViewItemsSourceChanged(UICollectionView collectionView, AttachedMemberChangedEventArgs<IEnumerable> args)
 {
     if (collectionView.Source == null)
         collectionView.Source = CollectionViewSourceBase.Factory(collectionView, DataContext.Empty);
     var source = collectionView.Source as ItemsSourceCollectionViewSource;
     if (source != null)
         source.ItemsSource = args.NewValue;
 }
 private static void PickerViewItemsSourceChanged(UIPickerView pickerView, AttachedMemberChangedEventArgs<IEnumerable> args)
 {
     GetOrAddPickerViewModel(pickerView).ItemsSource = args.NewValue;
 }
 private static void SplitViewControllerItemsSourceChanged(UISplitViewController viewController, AttachedMemberChangedEventArgs<IEnumerable> args)
 {
     var itemsSource = (IItemsSourceGenerator)ServiceProvider
         .AttachedValueProvider
         .GetOrAdd(viewController, "@!spliitems", (controller, o) => new ArrayItemsSourceGenerator<UISplitViewController, UIViewController>(controller,
                     AttachedMemberConstants.ItemTemplate,
                     (splitViewController, controllers) => splitViewController.ViewControllers = controllers), null);
     itemsSource.SetItemsSource(args.NewValue);
 }
 private static void PickerViewDisplayMemberPathChangedChanged(UIPickerView pickerView, AttachedMemberChangedEventArgs<string> args)
 {
     GetOrAddPickerViewModel(pickerView).DisplayMemberPath = args.NewValue;
 }
 private static void BusyMessageChanged(UIView uiView, AttachedMemberChangedEventArgs<object> args)
 {
     //Ignoring view and set overlay over main window
     uiView = UIApplication.SharedApplication.Windows[0];
     LoadingOverlay busyIndicator = BusyViewMember.GetValue(uiView, null);
     busyIndicator.BusyMessage = args.NewValue == null ? null : args.NewValue.ToString();
 }
Пример #60
0
 private static void ViewPagerCurrentItemChanged(ViewPager sender, AttachedMemberChangedEventArgs<int> args)
 {
     sender.CurrentItem = args.NewValue;
     var adapter = sender.Adapter as ItemsSourcePagerAdapter;
     if (adapter == null)
         return;
     object item = adapter.GetRawItem(sender.CurrentItem);
     sender.SetBindingMemberValue(AttachedMembersCompat.ViewPager.SelectedItem, item);
 }