public ImageSettingsControl()
        {
            _lblCaption = new TextElement("<image parameter>")
                {
                    Size = new Size(SettingsConsts.MaxWidth, 50),
                };
            AddElement(_lblCaption);

            _pictureBox = new SettingsImageElement(new Bitmap(1, 1))
                {
                  Size = new Size(SettingsConsts.MaxWidth, 175),
                };
            AddElement(_pictureBox);

            AddElement(new Canvas { Size = new Size(SettingsConsts.MaxWidth, 10), });

            var buttonPanel = new Canvas { Size = new Size(SettingsConsts.MaxWidth, 50), };
            AddElement(buttonPanel);

            var buttonSelectImage = new Fleux.UIElements.Button("select".Localize())
                {
                    Size = new Size(SettingsConsts.MaxWidth / 2 - 10, 50),
                    Location = new Point(0, 0),
                    TapHandler = p => ButtonSelectBgClick(),
                };
            buttonPanel.AddElement(buttonSelectImage);

            var buttonClearImage = new Fleux.UIElements.Button("clear".Localize())
               {
                   Size = new Size(SettingsConsts.MaxWidth / 2 - 10, 50),
                   Location = new Point(SettingsConsts.MaxWidth / 2 + 10, 0),
                   TapHandler = p => { Value = ""; return true; },
               };
            buttonPanel.AddElement(buttonClearImage);
        }
        public FileSettingsControl(FleuxControlPage settingsPage)
        {
            _lblCaption = new TextElement("<file selection>")
            {
                Size = new Size(SettingsConsts.MaxWidth, 50),
            };
            AddElement(_lblCaption);

            _inputBox = new TextBox(settingsPage)
            {
                Size = new Size(SettingsConsts.MaxWidth, 150),
                MultiLine = true,
            };
            _inputBox.TextChanged += (s, e) => NotifyPropertyChanged("Value");
            AddElement(_inputBox);

            AddElement(new Canvas() { Size = new Size(SettingsConsts.MaxWidth, 10), } );

            var buttonPanel = new Canvas() { Size = new Size(SettingsConsts.MaxWidth, 50), };
            AddElement(buttonPanel);

            var buttonSelectImage = new Fleux.UIElements.Button("select".Localize())
            {
                Size = new Size(SettingsConsts.MaxWidth / 2 - 10, 50),
                Location = new Point(0, 0),
                TapHandler = p => { BrowseFile(); return true; },
            };
            buttonPanel.AddElement(buttonSelectImage);

            var buttonClearImage = new Fleux.UIElements.Button("clear".Localize())
            {
                Size = new Size(SettingsConsts.MaxWidth / 2 - 10, 50),
                Location = new Point(SettingsConsts.MaxWidth / 2 + 10, 0),
                TapHandler = p => { Value = ""; return true; },
            };
            buttonPanel.AddElement(buttonClearImage);
        }
        public ContactSettingsControl()
        {
            _lblCaption = new TextElement("<contact selection>")
            {
                Size = new Size(SettingsConsts.MaxWidth, 50),
            };
            AddElement(_lblCaption);

            _labelContactName = new TextElement(ContactNotSelected)
            {
                Size = new Size(SettingsConsts.MaxWidth, 50),
                Style = MetroTheme.PhoneTextAccentStyle,
            };
            AddElement(_labelContactName);

            AddElement(new Canvas { Size = new Size(SettingsConsts.MaxWidth, 10), } );

            var buttonPanel = new Canvas { Size = new Size(SettingsConsts.MaxWidth, 50), };
            AddElement(buttonPanel);

            var buttonSelectImage = new Fleux.UIElements.Button("select")
            {
                Size = new Size(SettingsConsts.MaxWidth / 2 - 10, 50),
                Location = new Point(0, 0),
                TapHandler = p => { BrowseContact(); return true; },
            };
            buttonPanel.AddElement(buttonSelectImage);

            var buttonClearImage = new Fleux.UIElements.Button("clear")
            {
                Size = new Size(SettingsConsts.MaxWidth / 2 - 10, 50),
                Location = new Point(SettingsConsts.MaxWidth / 2 + 10, 0),
                TapHandler = p => { Value = -1; return true; },
            };
            buttonPanel.AddElement(buttonClearImage);
        }