Exemple #1
0
        private object GetCommandParameter(IDataContext context)
        {
            var target = BindingTarget;

            if (target == null)
            {
                return(null);
            }
            var param = target.GetCommandParameter(context);
            var path  = param as string;

            if (string.IsNullOrEmpty(path) ||
                (!path.StartsWith("$args.", StringComparison.Ordinal) &&
                 !path.StartsWith("$arg.", StringComparison.Ordinal)))
            {
                return(param);
            }
            var args = context.GetData(BindingConstants.CurrentEventArgs);

            if (args == null)
            {
                return(null);
            }
            return(BindingExtensions.GetValueFromPath(args, path, 1));
        }
Exemple #2
0
 private void DataGridView1OnCellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
 {
     if (dataGridView1.Columns[e.ColumnIndex].DataPropertyName.Contains("."))
     {
         e.Value = BindingExtensions.GetValueFromPath(
             dataGridView1.Rows[e.RowIndex].DataBoundItem,
             dataGridView1.Columns[e.ColumnIndex].DataPropertyName);
     }
 }
Exemple #3
0
        public static T Resource <T>(this IBindingSyntaxContext context, string name, Expression <Func <T> > member)
        {
            var value = BindingServiceProvider
                        .ResourceResolver
                        .ResolveObject(name, MugenMvvmToolkit.Models.DataContext.Empty, true)
                        .Value;

            return((T)BindingExtensions.GetValueFromPath(value, member.GetMemberInfo().Name));
        }
            public bool TryHandle(object sender, object message)
            {
                var view = _view;

                if (!view.IsAlive())
                {
                    Update(null);
                    return(false);
                }

                var activity = _view.Context.GetActivity();

                if (activity == null)
                {
                    Update(null);
                    Tracer.Warn("(PopupMenu) The contex of view is not an activity.");
                    return(false);
                }

                var templateId = (int)BindingServiceProvider
                                 .MemberProvider
                                 .GetBindingMember(_viewType, AttachedMemberNames.PopupMenuTemplate, false, true)
                                 .GetValue(_view, null);
                IBindingMemberInfo bindingMember = BindingServiceProvider
                                                   .MemberProvider
                                                   .GetBindingMember(_viewType, AttachedMemberNames.PlacementTargetPath, false, false);

                if (bindingMember != null)
                {
                    var path = (string)bindingMember.GetValue(view, null);
                    if (!string.IsNullOrEmpty(path))
                    {
                        var itemView = (View)BindingExtensions.GetValueFromPath(message, path);
                        if (itemView != null)
                        {
                            view = itemView;
                        }
                    }
                }

                var menu = new PopupMenu(activity, view);

                activity.MenuInflater.Inflate(templateId, menu.Menu, view);
                menu.SetOnDismissListener(DismissListener);
                menu.Show();
                return(true);
            }
Exemple #5
0
            public bool TryHandle(object sender, object message)
            {
                var view = _view;

                if (!view.IsAlive())
                {
                    Update(null);
                    return(false);
                }

                var activity = _view.Context.GetActivity();

                if (activity == null)
                {
                    Update(null);
                    Tracer.Warn("(PopupMenu) The contex of view is not an activity.");
                    return(false);
                }

                var  template = _view.GetBindingMemberValue(AttachedMembers.View.PopupMenuTemplate);
                var  path     = _view.GetBindingMemberValue(AttachedMembers.View.PopupMenuPlacementTargetPath);
                View itemView = null;

                if (!string.IsNullOrEmpty(path))
                {
                    itemView = (View)BindingExtensions.GetValueFromPath(message, path);
                }

                var menuPresenter = _view.GetBindingMemberValue(AttachedMembers.View.PopupMenuPresenter);

                if (menuPresenter == null)
                {
                    var menu = new PopupMenu(activity, itemView ?? view);
                    menu.Menu.ApplyMenuTemplate(template, activity, itemView ?? view);
                    menu.SetOnDismissListener(DismissListener);
                    menu.Show();
                    return(true);
                }
                return(menuPresenter.Show(view, itemView ?? view, template, message, (s, menu) => MenuTemplate.Clear(menu)));
            }
Exemple #6
0
        public override string GetTitle(UIPickerView picker, nint row, nint component)
        {
            if (_itemsSource == null)
            {
                return(EmptyTitle);
            }
            object item = _itemsSource.ElementAtIndex((int)row);

            if (item == null)
            {
                return(EmptyTitle);
            }
            if (!string.IsNullOrEmpty(DisplayMemberPath))
            {
                item = BindingExtensions.GetValueFromPath(item, DisplayMemberPath);
            }
            if (item == null)
            {
                return(EmptyTitle);
            }
            return(item.ToString());
        }