コード例 #1
0
        protected override void InitBindings()
        {
            CreateDetailsAdapters();

            Bindings.Add(
                this.SetBinding(() => ViewModel.LoadingDetails,
                                () => LoadingOverlay.Visibility).ConvertSourceToTarget(Converters.BoolToVisibility));
        }
コード例 #2
0
 internal void AddBinding(Binding binding)
 {
     if (Bindings.Contains(binding))
     {
         return;
     }
     Bindings.Add(binding);
 }
 public override void OnInitialize(object sender, EventArgs e)
 {
     if (!BindingExist("SubmitHandlerType"))
     {
         Bindings.Add("SubmitHandlerType", String.Empty);
         Bindings.Add("Name", String.Empty);
     }
 }
コード例 #4
0
 public MultiBinder(BindingBase b1, BindingBase b2, BindingBase b3, object converter)
 {
     Bindings.Add(b1);
     Bindings.Add(b2);
     Bindings.Add(b3);
     Converter = converter as IMultiValueConverter;
     CheckConverter();
 }
コード例 #5
0
        protected override void LoadBindings()
        {
            var designs = TeasersSection.GetSection().Designs;

            Bindings.Add("Content", Teaser.Content);
            Bindings.Add("Designs", designs.Count > 0 ? designs : null);
            Bindings.Add("DesignName", Teaser.DesignName);
        }
コード例 #6
0
 protected override void SetBindings()
 {
     Bindings.Add(this.SetBinding(() => ViewModel.SignalStrength).WhenSourceChanges(() =>
     {
         RssiProgressBar.Progress = 130 - Math.Abs(ViewModel.SignalStrength);
         RssiValueLabel.Text      = ViewModel.SignalStrength.ToString();
     }));
 }
コード例 #7
0
ファイル: ProjectEdit.cs プロジェクト: ChrisWay/csla
 private void RefreshBindings()
 {
     this.Bindings.RemoveAll();
     Bindings.Add(Resource.Id.txtProjectName, "Text", viewModel.Model, "Name");
     Bindings.Add(Resource.Id.txtProjectDescription, "Text", viewModel.Model, "Description");
     Bindings.Add(Resource.Id.txtProjectStarted, "Text", viewModel, "Started");
     Bindings.Add(Resource.Id.txtProjectEnded, "Text", viewModel, "Ended");
 }
コード例 #8
0
        protected override void InitBindings()
        {
            Bindings.Add(
                this.SetBinding(() => ViewModel.LoadingWallpapersVisibility,
                                () => WallpapersPageProgressSpinner.Visibility)
                .ConvertSourceToTarget(Converters.BoolToVisibility));

            WallpapersPageList.InjectFlingAdapter(_wallpapers, DataTemplateFull, DataTemplateFling, ContainerTemplate, DataTemplateBasic);
            if (Build.VERSION.SdkInt < BuildVersionCodes.M)
            {
                WallpapersPageActionButtonLoadMore.Show();
            }
            else
            {
                WallpapersPageActionButtonLoadMore.Visibility = ViewStates.Gone;
                WallpapersPageList.SetOnScrollChangeListener(new ScrollListener(i =>
                {
                    if (ViewModel.LoadingWallpapersVisibility)
                    {
                        return;
                    }
                    if (WallpapersPageList.Adapter.Count - WallpapersPageList.FirstVisiblePosition <= 2)
                    {
                        ViewModel.GoForwardCommand.Execute(null);
                    }
                }));
            }


            Bindings.Add(this.SetBinding(() => ViewModel.Wallpapers)
                         .WhenSourceChanges(() =>
            {
                if (ViewModel.Wallpapers != null)
                {
                    if (ViewModel.Wallpapers.Count == 0)
                    {
                        _wallpapers.Clear();
                    }
                    else
                    {
                        _wallpapers.AddRange(ViewModel.Wallpapers);
                    }
                }
            }));

            (RootView as ScrollableSwipeToRefreshLayout).ScrollingView = WallpapersPageList;
            (RootView as ScrollableSwipeToRefreshLayout).Refresh      += OnRefresh;

            InitDrawer();
            WallpapersPageActionButtonFilter.Click   += (sender, args) => OpenFiltersDrawer();
            WallpapersPageActionButtonLoadMore.Click += (sender, args) =>
            {
                if (!ViewModel.LoadingWallpapersVisibility)
                {
                    ViewModel.GoForwardCommand.Execute(null);
                }
            };
        }
コード例 #9
0
        protected override void InitBindings()
        {
            if (ViewModel.NewMessageFieldsVisibility)
            {
                Bindings.Add(
                    this.SetBinding(() => ViewModel.MessageTarget,
                                    () => MessagingDetailsPageTargetTextBox.Text, BindingMode.TwoWay));
                Bindings.Add(
                    this.SetBinding(() => ViewModel.MessageSubject,
                                    () => MessagingDetailsPageSubjectTextBox.Text, BindingMode.TwoWay));
            }

            Bindings.Add(this.SetBinding(() => ViewModel.NewMessageFieldsVisibility).WhenSourceChanges(() =>
            {
                MessagingDetailsPageTargetTextBox.Visibility      =
                    MessagingDetailsPageSubjectTextBox.Visibility =
                        ViewModel.NewMessageFieldsVisibility ? ViewStates.Visible : ViewStates.Gone;
            }));

            Bindings.Add(
                this.SetBinding(() => ViewModel.MessageText,
                                () => MessagingDetailsPageMessageTextBox.Text, BindingMode.TwoWay));

            MessagingDetailsPageSendButton.SetOnClickListener(new OnClickListener(view =>
            {
                ViewModel.SendMessageCommand.Execute(null);
            }));

            Bindings.Add(
                this.SetBinding(() => ViewModel.LoadingVisibility,
                                () => MessagingDetailsPageLoadingSpinner.Visibility)
                .ConvertSourceToTarget(Converters.BoolToVisibility));


            Bindings.Add(this.SetBinding(() => ViewModel.MessageSet).WhenSourceChanges(() =>
            {
                MessagingDetailsPageList.Adapter = ViewModel.MessageSet.GetAdapter(GetMessageTemplateDelegate);
            }));

            Bindings.Add(this.SetBinding(() => ViewModel.IsSendButtonEnabled).WhenSourceChanges(() =>
            {
                if (ViewModel.IsSendButtonEnabled)
                {
                    MessagingDetailsPageSendButton.SetBackgroundColor(new Color(ResourceExtension.AccentColourDark));
                    MessagingDetailsPageSendingSpinner.Visibility = ViewStates.Gone;
                }
                else
                {
                    MessagingDetailsPageSendButton.SetBackgroundColor(new Color(ResourceExtension.BrushAnimeItemInnerBackground));
                    MessagingDetailsPageSendingSpinner.Visibility = ViewStates.Visible;
                }
            }));

            var refresh = (RootView as ScrollableSwipeToRefreshLayout);

            refresh.ScrollingView = MessagingDetailsPageList;
            refresh.Refresh      += RefreshOnRefresh;
        }
コード例 #10
0
        protected override void InitBindings()
        {
            Bindings.Add(
                this.SetBinding(() => ViewModel.IsLoading,
                                () => LoadingLayout.Visibility).ConvertSourceToTarget(BindingConverters.BoolToVisibility));

            Bindings.Add(
                this.SetBinding(() => ViewModel.ProgressLabel,
                                () => ProgressLabel.Text));

            Bindings.Add(
                this.SetBinding(() => ViewModel.IsPreparing,
                                () => ProgressSpinner.Visibility).ConvertSourceToTarget(BindingConverters.BoolToVisibility));

            Bindings.Add(this.SetBinding(() => ViewModel.AwaitingManualLoad).WhenSourceChanges(() =>
            {
                if (ViewModel.AwaitingManualLoad)
                {
                    ManualLoadButton.Show();
                }
                else
                {
                    ManualLoadButton.Hide();
                }
            }));

            Bindings.Add(this.SetBinding(() => ViewModel.FeedGenerationProgress).WhenSourceChanges(() =>
            {
                SmoothSetProgress(ViewModel.FeedGenerationProgress);
            }));

            RecyclerView.SetAdapter(new RecyclerViewAdapterBuilder <IMerchItem, RecyclerView.ViewHolder>()
                                    .WithItems(ViewModel.Feed)
                                    .WithContentStretching()
                                    .WithMultipleViews()
                                    .WithGroup <FeedItemViewModel, FeedItemHolder>(builder =>
            {
                builder.WithResourceId(LayoutInflater, Resource.Layout.item_feed);
                builder.WithDataTemplate(FeedItemDataTemplate);
            })
                                    .WithGroup <FeedItemViewModel <YahooItem>, FeedItemYahooHolder>(builder =>
            {
                builder.WithResourceId(LayoutInflater, Resource.Layout.item_feed_yahoo);
                builder.WithDataTemplate(FeedItemYahooDataTemplate);
            })
                                    .WithGroup <FeedChangeGroupItem, FeedChangeGroupHolder>(builder =>
            {
                builder.WithResourceId(LayoutInflater, Resource.Layout.item_feed_change_time_group);
                builder.WithDataTemplate(FeedChangeGroupDataTemplate);
            })
                                    .Build());

            RecyclerView.AddOnScrollListener(new ScrollListener(this));
            SwipeToRefreshLayout.ScrollingView = RecyclerView;
            SwipeToRefreshLayout.Refresh      += SwipeToRefreshLayoutOnRefresh;
            RecyclerView.SetLayoutManager(new LinearLayoutManager(Activity));
            ManualLoadButton.SetOnClickCommand(ViewModel.RequestManualLoadCommand);
        }
コード例 #11
0
 public IMappingBuilder <TSource, TTarget> MapMember <TMember>(Expression <Func <TTarget, TMember> > memberSelector, Expression <Func <TSource, TMember?> > mappingExpression) where TMember : struct
 {
     Bindings.Add(new MemberBinding
     {
         SourceExpression = Expression.Coalesce(Expression.Property(SourceParameter, (mappingExpression.Body as MemberExpression).Member as PropertyInfo), Expression.Default(typeof(TMember))),
         TargetMember     = (memberSelector.Body as MemberExpression).Member
     });
     return(this);
 }
コード例 #12
0
 public RadioButtonBinding(string propName)
 {
     Bindings.Add(new Binding(propName));
     Bindings.Add(new Binding("Content")
     {
         RelativeSource = new RelativeSource(RelativeSourceMode.Self)
     });
     Converter = new SettingsConverter();
 }
コード例 #13
0
        void IAddChild.AddChild(object value)
        {
            if (value is not BindingBase binding)
            {
                throw new ArgumentException(Strings.CannotAddNonBindingToMultiBinding, nameof(value));
            }

            Bindings.Add(binding);
        }
コード例 #14
0
        protected override void InitBindings()
        {
            AnimeSearchPageList.Adapter    = ViewModel.AnimeSearchItemViewModels.GetAdapter(GetTemplateDelegate);
            AnimeSearchPageList.ItemClick += AnimeSearchPageListOnItemClick;

            Bindings.Add(
                this.SetBinding(() => ViewModel.Loading,
                                () => AnimeSearchPageLoadingSpinner.Visibility).ConvertSourceToTarget(Converters.BoolToVisibility));
        }
コード例 #15
0
        protected override void InitBindings()
        {
            ProfilePagePivot.Adapter = new ProfilePagePagerAdapter(FragmentManager);
            ProfilePageTabStrip.SetViewPager(ProfilePagePivot);

            Bindings.Add(
                this.SetBinding(() => ViewModel.LoadingVisibility,
                                () => ProfilePageLoadingSpinner.Visibility).ConvertSourceToTarget(Converters.BoolToVisibility));
        }
コード例 #16
0
        public override void OnInitialize(object sender, EventArgs e)
        {
            if (BindingExist("UploadedFile"))
            {
                return;
            }

            Bindings.Add("UploadedFile", new UploadedFile());
        }
コード例 #17
0
 public FrmDetailsEdit(DetailsViewModel viewModel)
 {
     InitializeComponent();
     ViewModel = viewModel;
     bindingSource1.DataSource = ViewModel as DetailsViewModel;
     detailsViewValidationProvider.RulesetName = viewModel.RuleSet;
     // this.BindingContext[bindingSource1].SuspendTwoWayBinding();
     Bindings.Add(bindingSource1);
 }
コード例 #18
0
        public override void OnInitialize(object sender, EventArgs e)
        {
            if (BindingExist("Namespace"))
            {
                return;
            }

            Bindings.Add("Namespace", UserSettings.LastSpecifiedNamespace);
        }
コード例 #19
0
        public ResponsiveUIExample(View parent, View layoutParent = null, string id = null, Template template = null, bool deferInitialization = false) :
            base(parent, layoutParent, id, template ?? ResponsiveUIExampleTemplates.Default, deferInitialization)
        {
            if (deferInitialization)
            {
                return;
            }

            // constructing Region (Region1)
            Region1 = new Region(this, this, "Region1", Region1Template);

            // binding <Region Width="$ {@IsPortrait} ? XML(100%) : XML(50%)">
            Bindings.Add(new Binding(new List <BindingPath> {
                new BindingPath(new List <string> {
                    "IsPortrait"
                }, new List <Func <object> > {
                    () => Models.Globals
                })
            }, new BindingPath(new List <string> {
                "Region1", "Width"
            }, new List <Func <object> > {
                () => this, () => Region1
            }), () => Region1.Width = Models.Globals.IsPortrait ? new ElementSize(1f, ElementSizeUnit.Percents) : new ElementSize(0.5f, ElementSizeUnit.Percents), () => { }, false));

            // constructing Region (Region2)
            Region2 = new Region(this, this, "Region2", Region2Template);

            // binding <Region IsActive="$ {@ScreenWidth} LT 500 ? true : false">
            Bindings.Add(new Binding(new List <BindingPath> {
                new BindingPath(new List <string> {
                    "ScreenWidth"
                }, new List <Func <object> > {
                    () => Models.Globals
                })
            }, new BindingPath(new List <string> {
                "Region2", "IsActive"
            }, new List <Func <object> > {
                () => this, () => Region2
            }), () => Region2.IsActive = Models.Globals.ScreenWidth < 500 ? true : false, () => { }, false));

            // constructing Label (Label1)
            Label1 = new Label(this, this, "Label1", Label1Template);

            // binding <Label Text="$ ({@ScreenWidth} GT 100).ToString()">
            Bindings.Add(new Binding(new List <BindingPath> {
                new BindingPath(new List <string> {
                    "ScreenWidth"
                }, new List <Func <object> > {
                    () => Models.Globals
                })
            }, new BindingPath(new List <string> {
                "Label1", "Text"
            }, new List <Func <object> > {
                () => this, () => Label1
            }), () => Label1.Text = (Models.Globals.ScreenWidth > 100).ToString(), () => { }, false));
            this.AfterInitializeInternal();
        }
コード例 #20
0
        private void enterDataCodeActivity_ExecuteCode(object sender, EventArgs e)
        {
            var dataTypeDescriptor = GetBinding <DataTypeDescriptor>("DataTypeDescriptor");

            var type = TypeManager.GetType(dataTypeDescriptor.TypeManagerTypeName);

            Guid pageId = GetBinding <Guid>(BindingNames.PageId);

            var helper = new DataTypeDescriptorFormsHelper(dataTypeDescriptor, true, EntityToken)
            {
                LayoutIconHandle = "associated-data-add"
            };

            var generatedTypesHelper = new GeneratedTypesHelper(dataTypeDescriptor);

            helper.AddReadOnlyFields(generatedTypesHelper.NotEditableDataFieldDescriptorNames);

            IData newData;

            if (!BindingExist("NewData"))
            {
                newData = DataFacade.BuildNew(type);

                PageFolderFacade.AssignFolderDataSpecificValues(newData, pageId);

                var publishControlled = newData as IPublishControlled;
                if (publishControlled != null)
                {
                    publishControlled.PublicationStatus = GenericPublishProcessController.Draft;
                }

                var localizedData = newData as ILocalizedControlled;
                if (localizedData != null)
                {
                    var cultureInfo = UserSettings.ActiveLocaleCultureInfo ?? DataLocalizationFacade.DefaultLocalizationCulture;
                    localizedData.SourceCultureName = cultureInfo.Name;
                }

                Bindings.Add("NewData", newData);

                helper.UpdateWithNewBindings(Bindings);
                helper.ObjectToBindings(newData, Bindings);
            }
            else
            {
                newData = GetBinding <IData>("NewData");
            }

            DeliverFormData(
                type.Name,
                StandardUiContainerTypes.Document,
                helper.GetForm(),
                Bindings,
                helper.GetBindingsValidationRules(newData)
                );
        }
コード例 #21
0
        public IMappingBuilder <TSource, TTarget> MapMember <TMember>(Expression <Func <TTarget, TMember> > memberSelector, TMember constant)
        {
            Bindings.Add(new MemberBinding
            {
                SourceExpression = Expression.Constant(constant, typeof(TMember)), // Second parameter is required to handle nullable types
                TargetMember     = (memberSelector.Body as MemberExpression).Member
            });

            return(this);
        }
コード例 #22
0
 protected override void SetBindings()
 {
     Bindings.Add(this.SetBinding(() => ViewModel.SuccessfullySent).WhenSourceChanges(() =>
     {
         if (ViewModel.SuccessfullySent)
         {
             TimeLabel.SetCompoundDrawablesWithIntrinsicBounds(0, 0, Resource.Drawable.icon_double_tick, 0);
         }
     }));
 }
コード例 #23
0
        public override void OnInitialize(object sender, EventArgs e)
        {
            if (BindingExist("StepName"))
            {
                return;
            }

            Bindings.Add("StepName", String.Empty);
            Bindings.Add("FormName", String.Empty);
        }
コード例 #24
0
        protected override void BindView(View view)
        {
            base.BindView(view);

            if (view != null)
            {
                _textView = view.FindViewById <TextView>(Resource.Id.titlePart_title);
                Bindings.Add(this.SetBinding(() => Element.Title, () => _textView.Text));
            }
        }
コード例 #25
0
        private void DefaultListMemberBinding(MemberExpression sourceProperty, MemberInfo targetMember, Type targetMemberType)
        {
            var expression = Expression.Call(typeof(Enumerable), nameof(Enumerable.ToList), new Type[] { targetMemberType }, sourceProperty);

            Bindings.Add(new MemberBinding
            {
                SourceExpression = expression,
                TargetMember     = targetMember
            });
        }
コード例 #26
0
        protected override void InitBindings()
        {
            CharacterSearchPageList.Adapter = ViewModel.FoundCharacters.GetAdapter(GetTemplateDelegate);
            _gridViewColumnHelper           = new GridViewColumnHelper(CharacterSearchPageList);


            Bindings.Add(
                this.SetBinding(() => ViewModel.Loading,
                                () => CharacterSearchPageLoadingSpinner.Visibility).ConvertSourceToTarget(Converters.BoolToVisibility));
        }
コード例 #27
0
 public VariableDeclaration(IEnumerable <VariableBinding> bindings)
 {
     if (bindings == null)
     {
         foreach (var b in bindings)
         {
             Bindings.Add(b);
         }
     }
 }
コード例 #28
0
        protected override void InitBindings()
        {
            _list                     = FindViewById <ListView>(Resource.Id.AnimeDetailsPageRelatedTabsList);
            _list.Adapter             = ViewModel.RelatedAnime.GetAdapter(RelatedItemTemplateDelegate);
            _list.OnItemClickListener = new OnItemClickListener <RelatedAnimeData>(data => ViewModel.NavigateDetailsCommand.Execute(data));

            Bindings.Add(
                this.SetBinding(() => ViewModel.LoadingRelated,
                                () => LoadingOverlay.Visibility).ConvertSourceToTarget(Converters.BoolToVisibility));
        }
コード例 #29
0
        public IMappingBuilder <TSource, TTarget> IgnoreMember <TMember>(Expression <Func <TTarget, TMember> > memberSelector)
        {
            Bindings.Add(new MemberBinding
            {
                SourceExpression = null,
                TargetMember     = (memberSelector.Body as MemberExpression).Member
            });

            return(this);
        }
        private void AddDynamicBinding(XElement bindingsXElement, string name, string value)
        {
            bindingsXElement.Add(new XElement(Namespaces.BindingForms10 + FormKeyTagNames.Binding,
                                              new XAttribute("name", name),
                                              new XAttribute("type", typeof(string).FullName),
                                              new XAttribute("optional", "true")
                                              ));

            Bindings.Add(name, value);
        }