コード例 #1
0
        public NewNotePage(NoteVM vm)
        {
            NavigationPage.SetHasBackButton(this, false);
            Title          = "Новая заметка";
            ViewModel      = vm;
            BindingContext = ViewModel;
            count_subtasks = 0;

            nameEntry = new CustomEditor2
            {
                Placeholder = "Введите название",
                TextColor   = Color.FromHex("0D47A1"),
                //PlaceholderColor = Color.DarkGray,
                FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Entry)),
                Margin   = new Thickness(0, 10, 0, 0),
            };
            nameEntry.SetBinding(Editor.TextProperty, "Name");
            nameEntry.TextChanged += NameEntry_TextChanged;

            //////комментарий
            commentEditor = new CustomEditor2
            {
                TextColor   = Color.FromHex("0D47A1"),
                Placeholder = "Добавьте комментарий",
            };
            commentEditor.TextChanged += Editor_TextChanged;
            commentEditor.SetBinding(CustomEditor2.TextProperty, "Comment");
            Grid commentGrid = new Grid
            {
                ColumnDefinitions =
                {
                    new ColumnDefinition {
                        Width = GridLength.Auto
                    },
                    new ColumnDefinition {
                        Width = GridLength.Auto
                    },
                },
                Margin = new Thickness(0, 20, 0, 0)
            };

            commentGrid.Children.Add(new Label
            {
                Text                    = "//",
                WidthRequest            = 20,
                FontSize                = Device.GetNamedSize(NamedSize.Large, typeof(Label)),
                VerticalTextAlignment   = TextAlignment.Start,
                HorizontalTextAlignment = TextAlignment.Center
            }, 0, 0);
            commentGrid.Children.Add(commentEditor, 1, 0);

            /////////////////////подзадачи
            Label subtaskLabel = new Label
            {
                Text            = "Добавить подзадачу",
                VerticalOptions = LayoutOptions.Center,
                Margin          = new Thickness(2, 0, 0, 0)
            };
            StackLayout subdefaultSL = new StackLayout
            {
                Children =
                {
                    new Label
                    {
                        Text              = "➥",
                        FontSize          = Device.GetNamedSize(NamedSize.Medium, typeof(Label)),
                        HorizontalOptions = LayoutOptions.Center,
                        Margin            = new Thickness(3, 0, 0, 0)
                    },
                    subtaskLabel
                },
                Orientation = StackOrientation.Horizontal
            };

            subtasksSL = new StackLayout
            {
                Children = { subdefaultSL },
                Margin   = new Thickness(25, 11, 0, 0)
            };

            subtaskLabel.GestureRecognizers.Add(new TapGestureRecognizer
            {
                Command = new Command(() =>
                {
                    count_subtasks++;

                    CustomButton donesubtaskButton = new CustomButton
                    {
                        FontSize          = Device.GetNamedSize(NamedSize.Micro, typeof(Button)),
                        WidthRequest      = 23,
                        HeightRequest     = 23,
                        BorderRadius      = 12,
                        BackgroundColor   = Color.White,
                        BorderWidth       = 1,
                        BorderColor       = Color.Gray,
                        HorizontalOptions = LayoutOptions.Center,
                        VerticalOptions   = LayoutOptions.Start,
                        Margin            = new Thickness(0, 3, 0, 0)
                    };
                    CustomEditor2 newsubtaskEditor = new CustomEditor2
                    {
                        Placeholder       = "Введите название",
                        TextColor         = Color.FromHex("0D47A1"),
                        FontSize          = Device.GetNamedSize(NamedSize.Small, typeof(Entry)),
                        HorizontalOptions = LayoutOptions.FillAndExpand,
                        WidthRequest      = 240
                    };
                    Label removesubtaskLabel = new Label
                    {
                        Text = "✖",
                        HorizontalTextAlignment = TextAlignment.Center,
                        VerticalTextAlignment   = TextAlignment.Center,
                        BackgroundColor         = Color.Transparent,
                        Margin            = new Thickness(-6, 2, 0, 0),
                        TextColor         = Color.Gray,
                        WidthRequest      = 35,
                        HorizontalOptions = LayoutOptions.Center,
                        VerticalOptions   = LayoutOptions.Start,
                    };
                    StackLayout newsubtaskSL = new StackLayout
                    {
                        Children    = { donesubtaskButton, newsubtaskEditor, removesubtaskLabel },
                        Orientation = StackOrientation.Horizontal
                    };
                    newsubtaskEditor.TextChanged += (sender, e) =>
                    {
                        var element = sender as CustomEditor2;
                        if (String.IsNullOrWhiteSpace(element.Text) == false)
                        {
                            element.Text = element.Text.Substring(0, 1).ToUpper() + element.Text.Remove(0, 1);
                        }
                        else
                        {
                            donesubtaskButton.Text = "";
                            element.Text           = element.Text.TrimStart();
                        }
                    };

                    if (subtasksSL.Children[0] == subdefaultSL)
                    {
                        subtasksSL.Children.Remove(subdefaultSL);
                    }
                    if (subtasksSL.Children.Count > 1)
                    {
                        subtasksSL.Children.Remove(subdefaultSL);
                    }

                    subtasksSL.Children.Add(newsubtaskSL);
                    subtasksSL.Children.Add(subdefaultSL);

                    donesubtaskButton.Clicked += (sender, e) =>
                    {
                        if (String.IsNullOrWhiteSpace(newsubtaskEditor.Text) == false)
                        {
                            if (Addition.IsStrikethrough(newsubtaskEditor.Text) == true)
                            {
                                donesubtaskButton.Text = "";
                                newsubtaskEditor.Text  = Addition.ConvertFromStrikethrough(newsubtaskEditor.Text);
                            }
                            else
                            {
                                donesubtaskButton.Text = "✔";
                                newsubtaskEditor.Text  = Addition.ConvertToStrikethrough(newsubtaskEditor.Text);
                            }
                        }
                    };
                    removesubtaskLabel.GestureRecognizers.Add(new TapGestureRecognizer
                    {
                        Command = new Command(() => { count_subtasks--; subtasksSL.Children.Remove(newsubtaskSL); })
                    });
                })
            });

            ////////////дата
            Image dateImage = new Image
            {
                Source        = "calendar.png",
                WidthRequest  = 17.5,
                HeightRequest = 17.5,
                Margin        = new Thickness(2, 0, 0, 0)
            };

            //datePicker = new CustomDatePicker
            //{
            //    Format = "Сегодня",
            //    FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(CustomDatePicker)),
            //    MinimumDate = DateTime.Today,
            //    WidthRequest = 165,
            //    HeightRequest = 35,
            //    HorizontalOptions=LayoutOptions.Start,
            //    Margin = new Thickness(1, 0, 0, 0)
            //};
            //datePicker.DateSelected += DatePicker_DateSelected;
            //datePicker.SetBinding(CustomDatePicker.DateProperty, "Date");
            datePicker = new CustomDatePicker
            {
                Format            = "Сегодня",
                FontSize          = Device.GetNamedSize(NamedSize.Medium, typeof(CustomDatePicker)),
                MinimumDate       = DateTime.Today,
                WidthRequest      = 165,
                HeightRequest     = 35,
                HorizontalOptions = LayoutOptions.Start,
                Margin            = new Thickness(1, 0, 0, 0)
            };
            datePicker.DateSelected += DatePicker_DateSelected;
            datePicker.SetBinding(CustomDatePicker.DateProperty, "Date");

            StackLayout dateStackLayout = new StackLayout
            {
                Orientation = StackOrientation.Horizontal,
                Margin      = new Thickness(0, 11, 0, 0),
                Children    = { dateImage, datePicker }
            };

            ///////////////
            //Label markerlabel = new Label
            //{
            //    Margin = new Thickness(0, 11, 0, 0),
            //    Text = "Пометить?",
            //    FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label)),
            //};
            Button colorButton0 = new Button {
                Style = Addition.buttonStyle2, BackgroundColor = Color.FromHex("ffffff"), Text = "✔"
            }; colorButton0.Clicked += ColorButton_Clicked;

            lastButton_int = colorButton0.GetHashCode();
            Button colorButton1 = new Button {
                Style = Addition.buttonStyle2, BackgroundColor = Color.FromHex("ff897d")
            }; colorButton1.Clicked += ColorButton_Clicked;
            Button colorButton2 = new Button {
                Style = Addition.buttonStyle2, BackgroundColor = Color.FromHex("ffd27a")
            }; colorButton2.Clicked += ColorButton_Clicked;
            Button colorButton3 = new Button {
                Style = Addition.buttonStyle2, BackgroundColor = Color.FromHex("cbff8a")
            }; colorButton3.Clicked += ColorButton_Clicked;
            Button colorButton4 = new Button {
                Style = Addition.buttonStyle2, BackgroundColor = Color.FromHex("80afff")
            }; colorButton4.Clicked += ColorButton_Clicked;
            Button colorButton5 = new Button {
                Style = Addition.buttonStyle2, BackgroundColor = Color.FromHex("b484ff")
            }; colorButton5.Clicked += ColorButton_Clicked;
            Button colorButton6 = new Button {
                Style = Addition.buttonStyle2, BackgroundColor = Color.FromHex("f9bad0")
            }; colorButton6.Clicked += ColorButton_Clicked;
            Button colorButton7 = new Button {
                Style = Addition.buttonStyle2, BackgroundColor = Color.FromHex("cfd8dc")
            }; colorButton7.Clicked += ColorButton_Clicked;

            chooseColorSL = new StackLayout
            {
                Children          = { colorButton0, colorButton1, colorButton2, colorButton3, colorButton4, colorButton5, colorButton6, colorButton7 },
                Orientation       = StackOrientation.Horizontal,
                HorizontalOptions = LayoutOptions.Center,
                Margin            = new Thickness(0, 20, 0, 0),
            };

            ///////////////////////////////////////////
            Label repeatlabel = new Label
            {
                Text = "Каждый день",
                //Margin = new Thickness(0, 3, 0, 0),
                FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label)),
                //HorizontalOptions = LayoutOptions.End
            };

            repeatSwitch = new Switch(); /*{ HorizontalOptions=LayoutOptions.EndAndExpand};*/
            repeatSwitch.SetBinding(Switch.IsToggledProperty, "Repeat");
            //repeatSwitch.Toggled += RepeatSwitch_Toggled;
            StackLayout repeatSL = new StackLayout
            {
                Orientation = StackOrientation.Horizontal,
                Margin      = new Thickness(0, 11, 0, 0),
                Children    = { repeatlabel, repeatSwitch }
            };

            mondayButton = new Button {
                Text = "П", Style = Addition.buttonStyle
            }; mondayButton.Clicked += Button_Clicked;
            tuesdayButton = new Button {
                Text = "В", Style = Addition.buttonStyle
            }; tuesdayButton.Clicked += Button_Clicked;
            wednesdayButton = new Button {
                Text = "С", Style = Addition.buttonStyle
            }; wednesdayButton.Clicked += Button_Clicked;
            thursdayButton = new Button {
                Text = "Ч", Style = Addition.buttonStyle
            }; thursdayButton.Clicked += Button_Clicked;
            fridayButton = new Button {
                Text = "П", Style = Addition.buttonStyle
            }; fridayButton.Clicked += Button_Clicked;
            saturdayButton = new Button {
                Text = "С", Style = Addition.buttonStyle
            }; saturdayButton.Clicked += Button_Clicked;
            sundayButton = new Button {
                Text = "В", Style = Addition.buttonStyle
            }; sundayButton.Clicked += Button_Clicked;

            choosedaysSL = new StackLayout
            {
                Children          = { mondayButton, tuesdayButton, wednesdayButton, thursdayButton, fridayButton, saturdayButton, sundayButton },
                Orientation       = StackOrientation.Horizontal,
                HorizontalOptions = LayoutOptions.Center,
                Margin            = new Thickness(0, 5, 0, 0),
            };
            choosedaysSL.SetBinding(IsVisibleProperty, "Repeat");

            /////////////////////////////////
            addButton = new Button
            {
                Text            = "✔",
                BackgroundColor = Color.White,
                TextColor       = Color.Gray,
                IsEnabled       = false
            };
            addButton.Pressed += AddButton_Clicked;
            //addButton.Clicked += AddButton_Clicked;

            Button backButton = new Button
            {
                Text            = "➥",
                BackgroundColor = Color.White,
                TextColor       = Color.FromHex("0D47A1")
            };

            backButton.SetBinding(Button.CommandProperty, "ListViewModel.BackCommand");
            //backButton.Clicked += RemoveSelectedItem;

            StackLayout buttonsStackLayout = new StackLayout
            {
                Orientation       = StackOrientation.Horizontal,
                HorizontalOptions = LayoutOptions.CenterAndExpand,
                VerticalOptions   = LayoutOptions.EndAndExpand,
                Children          = { addButton, backButton }
            };

            //Label0 = new Label { Text = "switch:" + ViewModel.Repeat };
            //Label1 = new Label { Text = "Пон:" + ViewModel.everyMonday };
            //Label2 = new Label { Text = "Вт:" + ViewModel.everyTuesday };
            //Label3 = new Label { Text = "Ср:" + ViewModel.everyWednesday };
            //Label4 = new Label { Text = "Чет:" + ViewModel.everyThursday };
            //Label5 = new Label { Text = "Пят:" + ViewModel.everyFriday };
            //Label6 = new Label { Text = "Суб:" + ViewModel.everySaturday };
            //Label7 = new Label { Text = "Воскр:" + ViewModel.everySunday };

            Label0 = new Label();
            Label1 = new Label();
            Button button = new Button {
                Text = "check"
            };

            button.Clicked += (sender, e) =>
            {
                string str   = null;
                int    count = 0;
                for (int i = 0; i <= count_subtasks - 1; i++)
                {
                    if (String.IsNullOrEmpty(((subtasksSL.Children[i] as StackLayout).Children[1] as CustomEditor2).Text) == false)
                    {
                        str += ((subtasksSL.Children[i] as StackLayout).Children[1] as CustomEditor2).Text + "✖";
                        count++;
                    }
                }
                Label0.Text = str;
                Label1.Text = count.ToString();
            };

            ScrollView scrollView = new ScrollView
            {
                Content = new StackLayout
                {
                    Children =
                    {
                        nameEntry,
                        commentGrid,
                        subtasksSL,
                        dateStackLayout,
                        repeatSL, /*choosedaysSL,*/
                        /*markerlabel,*/ chooseColorSL,
                        //Label0,
                        //Label1,
                        //button,
                        //Label2,Label3,Label4,Label5,Label6,Label7,
                        buttonsStackLayout
                    },

                    BackgroundColor = Color.White,
                    Padding         = new Thickness(15)
                }
            };

            Content = scrollView;
        }
コード例 #2
0
ファイル: allNotesPage.cs プロジェクト: timurmug/Write-and-Do
        public allNotesPage()
        {
            Title = "Список дел";
            ToolbarItem toolbar_edit2 = new ToolbarItem {
                Icon = "toolbar_edit3.png"
            };

            toolbar_edit2.Clicked += Toolbar_edit2_Clicked;
            ToolbarItems.Add(ToolbarItem);
            ToolbarItems.Add(toolbar_edit2);
            BindingContext = new NotesViewModel()
            {
                Navigation = this.Navigation
            };

            notesListView = new CustomListView
            {
                //Margin = new Thickness(15,0,15,0),
                HasUnevenRows       = true,
                IsGroupingEnabled   = true,
                GroupHeaderTemplate = new DataTemplate(() =>
                {
                    Label headerLabel = new Label
                    {
                        TextColor      = Color.FromHex("0D47A1"),
                        FontAttributes = FontAttributes.None,
                        Margin         = new Thickness(25, 20, 0, 15)
                    };
                    headerLabel.SetBinding(Label.TextProperty, "Name");
                    return(new ViewCell
                    {
                        View = headerLabel
                    });
                }),
                ItemTemplate = new DataTemplate(() =>
                {
                    Label nameLabel = new Label
                    {
                        FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)),
                        Margin   = new Thickness(5, 0, 0, 0)
                    };
                    nameLabel.SetBinding(Label.TextProperty, "Name");

                    Label commentLabel = new Label();
                    commentLabel.SetBinding(Label.TextProperty, "Comment");
                    commentLabel.SetBinding(Label.IsVisibleProperty, "HasComment");

                    Label sublabel = new Label {
                        IsVisible = false
                    };
                    sublabel.SetBinding(Label.TextProperty, "Subtasks_string", BindingMode.TwoWay);

                    int count_subtasks     = 0;
                    StackLayout subtasksSL = new StackLayout
                    {
                        Margin  = new Thickness(35, 0, 0, 0),
                        Spacing = 10
                    };
                    subtasksSL.SetBinding(StackLayout.IsVisibleProperty, "HasSubtasks");

                    sublabel.BindingContextChanged += (sender, e) =>
                    {
                        string str = sublabel.Text;
                        if (str != null)
                        {
                            string[] subtasks_array = str.Split(new char[] { '✖' });
                            foreach (char s in str)
                            {
                                if (s == '✖')
                                {
                                    count_subtasks++;
                                }
                            }

                            for (int i = 1; i <= count_subtasks; i++)
                            {
                                int subtask_index = i - 1;
                                CustomButton donesubtaskButton = new CustomButton
                                {
                                    FontSize          = Device.GetNamedSize(NamedSize.Micro, typeof(Button)),
                                    WidthRequest      = 23,
                                    HeightRequest     = 23,
                                    BorderRadius      = 12,
                                    BackgroundColor   = Color.Transparent,
                                    BorderWidth       = 1,
                                    BorderColor       = Color.LightGray,
                                    HorizontalOptions = LayoutOptions.Center,
                                    VerticalOptions   = LayoutOptions.Start
                                };
                                donesubtaskButton.SetBinding(Button.TextColorProperty, "TextColorSubtasks");
                                donesubtaskButton.SetBinding(Button.BorderColorProperty, "ColorSubtasks");

                                Label newsubtaskLabel = new Label
                                {
                                    FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Entry)),
                                    Text     = subtasks_array[i - 1]
                                };

                                if (Addition.IsStrikethrough(newsubtaskLabel.Text) == true)
                                {
                                    donesubtaskButton.Text = "✔";
                                }

                                StackLayout newsubtaskSL = new StackLayout
                                {
                                    Children    = { donesubtaskButton, newsubtaskLabel },
                                    Orientation = StackOrientation.Horizontal
                                };
                                subtasksSL.Children.Add(newsubtaskSL);

                                donesubtaskButton.Clicked += async(sender2, e2) =>
                                {
                                    string substringOld = newsubtaskLabel.Text;
                                    if (Addition.IsStrikethrough(newsubtaskLabel.Text) == true)
                                    {
                                        donesubtaskButton.Text = "";
                                        newsubtaskLabel.Text   = Addition.ConvertFromStrikethrough(newsubtaskLabel.Text);
                                    }
                                    else
                                    {
                                        donesubtaskButton.Text = "✔";
                                        newsubtaskLabel.Text   = Addition.ConvertToStrikethrough(newsubtaskLabel.Text);
                                    }

                                    subtasks_array[subtask_index] = newsubtaskLabel.Text;
                                    str           = String.Join("✖", subtasks_array);
                                    sublabel.Text = str;

                                    var note = sublabel?.BindingContext as NoteVM;
                                    await App.Database.SaveItemAsync(note);
                                    //var vm = BindingContext as NotesViewModel;
                                    //vm?.UpdateSubTasks(note);

                                    //Navigation.PopAsync();
                                    //Navigation.PopToRootAsync();

                                    //OnPropertyChanged2(sublabel.Text);
                                };
                            }
                        }
                    };

                    Label everydayLabel = new Label
                    {
                        Text     = "Каждый день",
                        FontSize = Device.GetNamedSize(NamedSize.Micro, typeof(Label))
                    };
                    everydayLabel.SetBinding(Label.IsVisibleProperty, "Repeat");

                    Label overdueLabel = new Label {
                        FontSize = Device.GetNamedSize(NamedSize.Micro, typeof(Label))
                    };
                    overdueLabel.SetBinding(Label.TextProperty, "Overdue_str");
                    overdueLabel.SetBinding(Label.IsVisibleProperty, "IsOverdue");

                    CustomButton doneButton = new CustomButton
                    {
                        FontSize          = Device.GetNamedSize(NamedSize.Micro, typeof(Button)),
                        WidthRequest      = 30,
                        HeightRequest     = 30,
                        BorderRadius      = 15,
                        BorderColor       = Color.LightGray,
                        BorderWidth       = 1,
                        HorizontalOptions = LayoutOptions.Center,
                        VerticalOptions   = LayoutOptions.Start,
                        Margin            = new Thickness(0, 1, 0, 0)
                    };
                    doneButton.SetBinding(Button.BorderWidthProperty, "ButtonsWidth");
                    doneButton.SetBinding(BackgroundColorProperty, "ColorMarker");
                    doneButton.Clicked += Done_Clicked;
                    doneButton.Clicked += (sender, e) =>
                    {
                        nameLabel.Text = Addition.ConvertToStrikethrough(nameLabel.Text);
                    };

                    Button removeButton = new Button
                    {
                        Text            = "✖",
                        BackgroundColor = Color.White,
                        TextColor       = Color.FromHex("0D47A1")
                    };
                    removeButton.Clicked += RemoveButton_Clicked;

                    Button editButton = new Button
                    {
                        Text            = "•••",
                        FontAttributes  = FontAttributes.Bold,
                        BackgroundColor = Color.White,
                        TextColor       = Color.FromHex("0D47A1")
                    };
                    editButton.Clicked += edit_Clicked;

                    StackLayout invisibleStackL = new StackLayout
                    {
                        Orientation       = StackOrientation.Horizontal,
                        HorizontalOptions = LayoutOptions.Center,
                        Margin            = new Thickness(0, 10, 0, 0),
                        Padding           = new Thickness(-20, 0, 0, 0),
                        Children          = { removeButton, editButton }
                    };
                    invisibleStackL.SetBinding(StackLayout.IsVisibleProperty, "IsVisible");

                    return(new ViewCell
                    {
                        View = new StackLayout
                        {
                            Orientation = StackOrientation.Vertical,
                            Children =
                            {
                                new StackLayout
                                {
                                    Orientation = StackOrientation.Horizontal,
                                    Children =
                                    {
                                        doneButton,
                                        new StackLayout
                                        {
                                            Children =
                                            {
                                                nameLabel,
                                                new StackLayout
                                                {
                                                    Orientation = StackOrientation.Horizontal,
                                                    Children ={ everydayLabel, overdueLabel                },
                                                    Margin = new Thickness(5,                 0, 0, 0)
                                                },
                                            },
                                        }
                                    }
                                },
                                commentLabel,
                                sublabel,
                                subtasksSL,
                                invisibleStackL
                            },
                            Margin = new Thickness(10),
                            Padding = new Thickness(20, 0, 10, 0),
                            Spacing = 15,
                        }
                    });
                    //Label nameLabel = new Label { FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)) };
                    //nameLabel.SetBinding(Label.TextProperty, "Name");

                    //Label everydayLabel = new Label
                    //{
                    //    Text = "Каждый день",
                    //    FontSize = Device.GetNamedSize(NamedSize.Micro, typeof(Label))
                    //};
                    //everydayLabel.SetBinding(Label.IsVisibleProperty, "Repeat");

                    //Label overdueLabel = new Label { FontSize = Device.GetNamedSize(NamedSize.Micro, typeof(Label)) };
                    //overdueLabel.SetBinding(Label.TextProperty, "Overdue_str");
                    //overdueLabel.SetBinding(Label.IsVisibleProperty, "IsOverdue");

                    //Button doneButton = new Button
                    //{
                    //    Text = "✔",
                    //    BackgroundColor = Color.White,
                    //    TextColor = Color.FromHex("0D47A1")
                    //};
                    //doneButton.Clicked += Done_Clicked;

                    //Button removeButton = new Button
                    //{
                    //    Text = "✖",
                    //    BackgroundColor = Color.White,
                    //    TextColor = Color.FromHex("0D47A1")
                    //};
                    //removeButton.Clicked += RemoveButton_Clicked;

                    //Button editButton = new Button
                    //{
                    //    Text = "•••",
                    //    FontAttributes = FontAttributes.Bold,
                    //    BackgroundColor = Color.White,
                    //    TextColor = Color.FromHex("0D47A1")
                    //};
                    //editButton.Clicked += edit_Clicked;

                    //StackLayout invisibleStackL = new StackLayout
                    //{
                    //    Orientation = StackOrientation.Horizontal,
                    //    HorizontalOptions = LayoutOptions.CenterAndExpand,
                    //    Margin = new Thickness(0, 10, 0, 0),
                    //    Children = { doneButton,removeButton, editButton }
                    //};
                    //invisibleStackL.SetBinding(StackLayout.IsVisibleProperty, "IsVisible");

                    //Grid grid = new Grid
                    //{
                    //    ColumnDefinitions =
                    //    {
                    //        new ColumnDefinition { Width = new GridLength(0.95, GridUnitType.Star)},
                    //        new ColumnDefinition { Width = new GridLength(0.05, GridUnitType.Star)}
                    //    },
                    //    ColumnSpacing = 0
                    //};

                    //BoxView boxView = new BoxView();
                    //boxView.SetBinding(BackgroundColorProperty, "ColorMarker");


                    //grid.Children.Add(new StackLayout
                    //{
                    //    Orientation = StackOrientation.Vertical,
                    //    Children = { nameLabel,
                    //            new StackLayout
                    //            {   Orientation = StackOrientation.Horizontal,
                    //                Children ={everydayLabel,overdueLabel}},
                    //    invisibleStackL },
                    //    Margin = new Thickness(10),
                    //    Padding = new Thickness(35, 0, 0, 0),
                    //    Spacing = 15,
                    //}, 0, 0);
                    //grid.Children.Add(boxView, 1, 0);

                    //return new ViewCell
                    //{
                    //    View = grid
                    //};
                })
            };
            notesListView.ItemTapped += NotesListView_ItemTapped;

            addButton = new Button
            {
                Text              = "+",
                FontSize          = Device.GetNamedSize(NamedSize.Large, typeof(Button)),
                BackgroundColor   = Color.FromHex("E3F2FD"),
                TextColor         = Color.FromHex("0D47A1"),
                HorizontalOptions = LayoutOptions.End,
                VerticalOptions   = LayoutOptions.End,
                WidthRequest      = 70,
                HeightRequest     = 70,
                BorderRadius      = 35,
                Margin            = new Thickness(0, 0, 20, 20)
            };
            addButton.SetBinding(Button.CommandProperty, "CreateNoteCommand");
            pastactionLabel = new Label
            {
                Text = "Отменить",
                //IsVisible = false,
                //IsVisible = true,
                //IsVisible = App.pastaction,
                //TextColor =Color.Red,
                TextColor         = Color.FromHex("0D47A1"),
                HorizontalOptions = LayoutOptions.CenterAndExpand,
                VerticalOptions   = LayoutOptions.CenterAndExpand
            };
            pastactionLabel.GestureRecognizers.Add(new TapGestureRecognizer
            {
                Command = new Command(() => pastactionLabel.Text = "Кликнул"),
            });

            RelativeLayout relativeLayout = new RelativeLayout();

            relativeLayout.Children.Add(notesListView,
                                        Constraint.RelativeToParent((parent) => parent.X),
                                        Constraint.RelativeToParent((parent) => parent.Y /*+ 20*/),
                                        //Constraint.RelativeToView(pastactionLabel, (parent,view)=>/*parent.Y+*/pastactionLabel.Height),
                                        Constraint.RelativeToParent((parent) => parent.Width),
                                        Constraint.RelativeToParent((parent) => parent.Height /** .975*/));

            //double pastactionLabelWidth(RelativeLayout parent) => pastactionLabel.Measure(parent.Width, parent.Height).Request.Width;
            ////double pastactionLabelHeight(RelativeLayout parent) => pastactionLabel.Measure(parent.Width, parent.Height).Request.Height;
            //relativeLayout.Children.Add(pastactionLabel,
            //    //Constraint.RelativeToParent(parent => parent.Width / 2 - pastactionLabelWidth(parent) / 2),
            //    //Constraint.RelativeToParent(parent => notesListView.Width)
            //    Constraint.RelativeToView(notesListView, (parent, view) => notesListView.Width - pastactionLabelWidth(parent)),
            //    Constraint.RelativeToParent(parent => parent.Y+5)
            //    );

            //double getnonotesLabelWidth(RelativeLayout parent) => nonotesLabel.Measure(parent.Width, parent.Height).Request.Width;
            //relativeLayout.Children.Add(nonotesLabel,
            //    Constraint.RelativeToParent(parent => parent.Width / 2 - getnonotesLabelWidth(parent) / 2),
            //    Constraint.RelativeToParent(parent => parent.Height*.45));
            double getnonotesImageWidth(RelativeLayout parent) => nonotesImage.Measure(parent.Width, parent.Height).Request.Width;
            double getnonotesImageHeight(RelativeLayout parent) => nonotesImage.Measure(parent.Width, parent.Height).Request.Width;

            relativeLayout.Children.Add(nonotesImage,
                                        Constraint.RelativeToParent(parent => /*parent.Width/2- 100*/ parent.Width / 2 - getnonotesImageWidth(parent) / 2),
                                        Constraint.RelativeToParent(parent => parent.Height / 2 - getnonotesImageHeight(parent) / 2 /*parent.Height/2-100*/ /*parent.Height * .45*/));

            relativeLayout.Children.Add(addButton,
                                        Constraint.RelativeToParent((parent) => parent.Width * .75),
                                        Constraint.RelativeToParent((parent) => parent.Height * .8125));

            this.BackgroundColor = Color.White;
            this.Content         = relativeLayout;
        }