void TextBoxButton1ButtonClick(object sender, EventArgs e) { TextBoxButton txt = (sender as Control).Parent as TextBoxButton; openFileDialogBsDts.Title = "Base de Datos"; if (openFileDialogBsDts.ShowDialog() == DialogResult.OK) { txt.Text = openFileDialogBsDts.FileName; toolTipPth.SetToolTip(txt, txt.Text); } }
private void InitializeContent(IToast toastContent) { _currContent = toastContent; HasContent = false; TextBlockTitle.Text = ""; TextBlockTitle.MaxLines = 3; TextBlockTitle.TextWrapping = TextWrapping.WrapWholeWords; TextBlockBody.Text = ""; TextBlockBody.MaxLines = 3; TextBlockBody.TextWrapping = TextWrapping.WrapWholeWords; TextBlockBody2.Visibility = Visibility.Collapsed; TextBlockBody2.MaxLines = 3; TextBlockBody2.TextWrapping = TextWrapping.WrapWholeWords; StackPanelInlineImages.Children.Clear(); DefaultImageAppLogo.Visibility = Visibility.Visible; ImageAppLogo.Visibility = Visibility.Collapsed; CircleImageAppLogo.Visibility = Visibility.Collapsed; _elementsWithIds = new Dictionary <string, FrameworkElement>(); _currLaunch = ""; _currActivationType = ActivationType.Foreground; _buttons.Clear(); _buttons.Add(CreateButton("Launch", toastContent?.Launch, null, toastContent != null ? toastContent.ActivationType.GetValueOrDefault(ActivationType.Foreground) : ActivationType.Foreground, Scenario.Default)); if (toastContent != null) { _currLaunch = toastContent.Launch; _currActivationType = toastContent.ActivationType.GetValueOrDefault(ActivationType.Foreground); if (toastContent.Visual != null) { var visual = toastContent.Visual; AdaptiveBinding binding; if (toastContent.Context == NotificationType.Toast) { binding = visual.Bindings.FirstOrDefault(); } else { binding = visual.Bindings.FirstOrDefault(i => i.Template == Model.Enums.Template.ToastGeneric); } if (binding != null) { HasContent = true; var container = binding.Container; var texts = container.Children.OfType <AdaptiveTextField>().ToList(); List <AdaptiveImage> appLogoOverrides = null; List <AdaptiveImage> heroImages = new List <AdaptiveImage>(); var attributionTexts = container.Children.OfType <AdaptiveTextField>().Where(i => i.Placement == Model.Enums.TextPlacement.Attribution).ToList(); appLogoOverrides = new List <AdaptiveImage>(); // First pull out images with placements and attribution text for (int i = 0; i < container.Children.Count; i++) { var child = container.Children[i]; if (child is AdaptiveImage) { AdaptiveImage img = child as AdaptiveImage; switch (img.Placement) { case Model.Enums.Placement.AppLogoOverride: appLogoOverrides.Add(img); container.RemoveChildAt(i); i--; break; case Model.Enums.Placement.Hero: heroImages.Add(img); container.RemoveChildAt(i); i--; break; } } else if (child is AdaptiveTextField) { AdaptiveTextField txt = child as AdaptiveTextField; if (txt.Placement != Model.Enums.TextPlacement.Inline) { container.RemoveChildAt(i); i--; } } } // Assign hero if (heroImages.Any()) { ImageHero.Visibility = Visibility.Visible; ImageHeroBrush.ImageSource = ImageHelper.GetBitmap(heroImages.First().Src); } else { ImageHero.Visibility = Visibility.Collapsed; ImageHeroBrush.ImageSource = null; } texts = new List <AdaptiveTextField>(); // Pull out all texts for (int i = 0; i < container.Children.Count; i++) { var child = container.Children[i]; if (child is AdaptiveTextField && (child as AdaptiveTextField).Placement == Model.Enums.TextPlacement.Inline) { texts.Add(child as AdaptiveTextField); container.RemoveChildAt(i); i--; } } var titleText = texts.ElementAtOrDefault(0); if (titleText != null) { TextBlockTitle.Text = titleText.Text; var bodyTextLine1 = texts.ElementAtOrDefault(1); if (bodyTextLine1 != null) { TextBlockBody.Text = bodyTextLine1.Text; var bodyTextLine2 = texts.ElementAtOrDefault(2); if (bodyTextLine2 != null) { TextBlockBody2.Text = bodyTextLine2.Text; TextBlockBody2.Visibility = Visibility.Visible; } TextBlockBody.Visibility = Visibility.Visible; } else { TextBlockBody.Visibility = Visibility.Collapsed; } } else { TextBlockTitle.Text = Properties.DisplayName; TextBlockBody.Text = "New notification"; TextBlockBody.Visibility = Visibility.Visible; } var images = container.Children.OfType <AdaptiveImage>().ToList(); if (appLogoOverrides == null) { appLogoOverrides = images.Where(i => i.Placement == Model.Enums.Placement.AppLogoOverride).ToList(); } var appLogoOverride = appLogoOverrides.FirstOrDefault(); if (appLogoOverride != null) { DefaultImageAppLogo.Visibility = Visibility.Collapsed; var source = ImageHelper.GetBitmap(appLogoOverride.Src); if (appLogoOverride.HintCrop == Model.Enums.HintCrop.Circle) { CircleImageAppLogo.Source = source; CircleImageAppLogo.Visibility = Visibility.Visible; } else { ImageAppLogo.Source = source; ImageAppLogo.Visibility = Visibility.Visible; } } foreach (var image in images.Where(i => i.Placement == Model.Enums.Placement.Inline)) { var uiImage = new Image() { Source = ImageHelper.GetBitmap(image.Src), MaxHeight = 100, Stretch = Stretch.Uniform, HorizontalAlignment = HorizontalAlignment.Stretch, Margin = new Thickness(0, 0, 0, 6) }; StackPanelInlineImages.Children.Add(uiImage); } // Attribution if (toastContent.SupportedFeatures.RS1_Style_Toasts) { if (attributionTexts.Any()) { TextBlockAttributionSeparationDot.Visibility = Visibility.Visible; TextBlockAttributionSecondPart.Visibility = Visibility.Visible; TextBlockAttributionSecondPart.Text = attributionTexts.First().Text; } else { TextBlockAttributionSeparationDot.Visibility = Visibility.Collapsed; TextBlockAttributionSecondPart.Visibility = Visibility.Collapsed; } } } } if (toastContent.Actions != null) { var actions = toastContent.Actions; if (actions.HintSystemCommands == Model.Enums.HintSystemCommands.SnoozeAndDismiss) { //AddInput(CreateComboBox("systemSnoozeSelection", null, new Selection[] //{ // new Selection(NotificationType.Toast, CurrFeatureSet) // { // Content = "5 minutes", // Id = "5" // }, // new Selection(NotificationType.Toast, CurrFeatureSet) // { // Content = "9 minutes", // Id = "9" // }, // new Selection(NotificationType.Toast, CurrFeatureSet) // { // Content = "10 minutes", // Id = "10" // }, // new Selection(NotificationType.Toast, CurrFeatureSet) // { // Content = "1 hour", // Id = "60" // }, // new Selection(NotificationType.Toast, CurrFeatureSet) // { // Content = "4 hours", // Id = "240" // }, // new Selection(NotificationType.Toast, CurrFeatureSet) // { // Content = "1 day", // Id = "1440" // } //}, "9", true)); AddButton(CreateButton("Snooze", "snooze", null, ActivationType.System, toastContent.Scenario)); AddButton(CreateButton("Dismiss", "dismiss", null, ActivationType.System, toastContent.Scenario)); } else { List <Model.BaseElements.Action> actionElements = actions.ActionElements.ToList(); if (toastContent.SupportedFeatures.RS1_Style_Toasts) { actionElements.RemoveAll(i => i.Placement != Model.Enums.ActionPlacement.Inline); } // Initialize inputs foreach (var i in actions.Inputs) { ListViewButton button; switch (i.Type) { case Model.BaseElements.InputType.Text: button = new TextBoxButton(i); break; case Model.BaseElements.InputType.Selection: button = new SelectionButton(i); break; default: throw new NotImplementedException(); } AddButton(button); } // Initialize buttons foreach (var a in actionElements) { ListViewButton uiButton = CreateButton(a.Content, a.Arguments, a.ImageUri, a.ActivationType, toastContent.Scenario); //AssignId(uiButton, a.Id); //if (!a.HintVisible) // uiButton.Visibility = Visibility.Collapsed; AddButton(uiButton); } } } } ListViewButtons.SelectedIndex = 0; }
public static TextBoxButton TextBoxButton(Grid grid, string label, bool isReadOnly, IEnumerable <ValidationRule> validationRules, string propertyPath, RoutedEventHandler buttonOnClick) { // check column definitions CheckColumnDefinitions(grid); // add new definitions to the details grid var rowDef = new RowDefinition() { Height = GridLength.Auto }; grid.RowDefinitions.Add(rowDef); int row = grid.RowDefinitions.IndexOf(rowDef); // create label var lab = new Label() { Content = label }; Grid.SetColumn(lab, 0); Grid.SetRow(lab, row); grid.Children.Add(lab); // add textbox var textBoxButton = new TextBoxButton() { MaxWidth = 250, IsEnabled = !isReadOnly }; if (buttonOnClick != null) { textBoxButton.ButtonOnClick += buttonOnClick; } var bind = new Binding(propertyPath) { UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged, ValidatesOnDataErrors = true, NotifyOnValidationError = true, ValidatesOnNotifyDataErrors = true, ValidatesOnExceptions = true }; if (validationRules != null) { // add rules for validation foreach (var validationRule in validationRules) { validationRule.ValidatesOnTargetUpdated = true; bind.ValidationRules.Add(validationRule); } } // set binding BindingOperations.SetBinding(textBoxButton, AppStyle.Controls.TextBoxButton.TextProperty, bind); // add textboxButton to the details grid Grid.SetColumn(textBoxButton, 1); Grid.SetRow(textBoxButton, row); grid.Children.Add(textBoxButton); return(textBoxButton); }
private void btnTextBoxButton_Click(object sender, RoutedEventArgs e) { var form = new TextBoxButton(); form.ShowDialog(); }