private void ListViewTextBoxItemName_TextChanged(object sender, TextChangedEventArgs e) { var textBox = sender as TextBox; if (FilesystemHelpers.ContainsRestrictedCharacters(textBox.Text)) { FileNameTeachingTip.Visibility = Visibility.Visible; FileNameTeachingTip.IsOpen = true; } else { if (FileNameTeachingTip.IsOpen == true) { FileNameTeachingTip.IsOpen = false; FileNameTeachingTip.Visibility = Visibility.Collapsed; } } }
public static DynamicDialog GetFor_RenameDialog() { DynamicDialog dialog = null; TextBox inputText = new TextBox() { Height = 35d, PlaceholderText = "RenameDialogInputText/PlaceholderText".GetLocalized() }; TextBlock tipText = new TextBlock() { Text = "RenameDialogSymbolsTip/Text".GetLocalized(), Margin = new Windows.UI.Xaml.Thickness(0, 0, 4, 0), TextWrapping = Windows.UI.Xaml.TextWrapping.Wrap, Opacity = 0.0d }; inputText.TextChanged += (s, e) => { var textBox = s as TextBox; dialog.ViewModel.AdditionalData = textBox.Text; if (FilesystemHelpers.ContainsRestrictedCharacters(textBox.Text)) { dialog.ViewModel.DynamicButtonsEnabled = DynamicDialogButtons.Cancel; tipText.Opacity = 1.0d; return; } else if (!string.IsNullOrWhiteSpace(textBox.Text)) { dialog.ViewModel.DynamicButtonsEnabled = DynamicDialogButtons.Primary | DynamicDialogButtons.Cancel; } else { dialog.ViewModel.DynamicButtonsEnabled = DynamicDialogButtons.Cancel; } tipText.Opacity = 0.0d; }; dialog = new DynamicDialog(new DynamicDialogViewModel() { TitleText = "RenameDialog/Title".GetLocalized(), SubtitleText = null, DisplayControl = new Grid() { MinWidth = 300d, Children = { new StackPanel() { Orientation = Orientation.Vertical, Spacing = 4d, Children = { inputText, tipText } } } }, PrimaryButtonAction = (vm, e) => { vm.HideDialog(); // Rename successful }, PrimaryButtonText = "RenameDialog/PrimaryButtonText".GetLocalized(), CloseButtonText = "RenameDialog/SecondaryButtonText".GetLocalized(), DynamicButtonsEnabled = DynamicDialogButtons.Cancel, DynamicButtons = DynamicDialogButtons.Primary | DynamicDialogButtons.Cancel }); return(dialog); }
public static DynamicDialog GetFor_RenameDialog() { DynamicDialog dialog = null; TextBox inputText = new TextBox() { Height = 35d, PlaceholderText = "RenameDialogInputText/PlaceholderText".GetLocalized() }; TextBlock tipText = new TextBlock() { Text = "RenameDialogSymbolsTip/Text".GetLocalized(), Margin = new Windows.UI.Xaml.Thickness(0, 0, 4, 0), TextWrapping = Windows.UI.Xaml.TextWrapping.Wrap, Opacity = 0.0d }; inputText.TextChanged += (s, e) => { var textBox = s as TextBox; dialog.ViewModel.AdditionalData = textBox.Text; if (FilesystemHelpers.ContainsRestrictedCharacters(textBox.Text)) { dialog.ViewModel.DynamicButtonsEnabled = DynamicDialogButtons.Cancel; tipText.Opacity = 1.0d; return; } else if (!string.IsNullOrWhiteSpace(textBox.Text)) { dialog.ViewModel.DynamicButtonsEnabled = DynamicDialogButtons.Primary | DynamicDialogButtons.Cancel; } else { dialog.ViewModel.DynamicButtonsEnabled = DynamicDialogButtons.Cancel; } tipText.Opacity = 0.0d; }; inputText.Loaded += (s, e) => { // dispatching to the ui thread fixes an issue where the primary dialog button would steal focus _ = CoreApplication.MainView.DispatcherQueue.EnqueueAsync(() => inputText.Focus(Windows.UI.Xaml.FocusState.Programmatic)); }; dialog = new DynamicDialog(new DynamicDialogViewModel() { TitleText = "RenameDialog/Title".GetLocalized(), SubtitleText = null, DisplayControl = new Grid() { MinWidth = 300d, Children = { new StackPanel() { Spacing = 4d, Children = { inputText, tipText } } } }, PrimaryButtonAction = (vm, e) => { vm.HideDialog(); // Rename successful }, PrimaryButtonText = "RenameDialog/PrimaryButtonText".GetLocalized(), CloseButtonText = "Cancel".GetLocalized(), DynamicButtonsEnabled = DynamicDialogButtons.Cancel, DynamicButtons = DynamicDialogButtons.Primary | DynamicDialogButtons.Cancel }); return(dialog); }
public static DynamicDialog GetFor_RenameDialog() { DynamicDialog dialog = null; TextBox inputText = new TextBox() { Height = 35d, PlaceholderText = "RenameDialogInputText/PlaceholderText".GetLocalized() }; TextBlock tipText = new TextBlock() { Text = "RenameDialogSymbolsTip/Text".GetLocalized(), Margin = new Windows.UI.Xaml.Thickness(0, 0, 4, 0), TextWrapping = Windows.UI.Xaml.TextWrapping.Wrap, Opacity = 0.0d }; inputText.BeforeTextChanging += async(textBox, args) => { if (FilesystemHelpers.ContainsRestrictedCharacters(args.NewText)) { args.Cancel = true; await inputText.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { var oldSelection = textBox.SelectionStart + textBox.SelectionLength; var oldText = textBox.Text; textBox.Text = FilesystemHelpers.FilterRestrictedCharacters(args.NewText); textBox.SelectionStart = oldSelection + textBox.Text.Length - oldText.Length; tipText.Opacity = 1.0d; }); } else { dialog.ViewModel.AdditionalData = args.NewText; if (!string.IsNullOrWhiteSpace(args.NewText)) { dialog.ViewModel.DynamicButtonsEnabled = DynamicDialogButtons.Primary | DynamicDialogButtons.Cancel; } else { dialog.ViewModel.DynamicButtonsEnabled = DynamicDialogButtons.Cancel; } tipText.Opacity = 0.0d; } }; inputText.Loaded += (s, e) => { // dispatching to the ui thread fixes an issue where the primary dialog button would steal focus _ = inputText.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => inputText.Focus(Windows.UI.Xaml.FocusState.Programmatic)); }; dialog = new DynamicDialog(new DynamicDialogViewModel() { TitleText = "RenameDialog/Title".GetLocalized(), SubtitleText = null, DisplayControl = new Grid() { MinWidth = 300d, Children = { new StackPanel() { Spacing = 4d, Children = { inputText, tipText } } } }, PrimaryButtonAction = (vm, e) => { vm.HideDialog(); // Rename successful }, PrimaryButtonText = "RenameDialog/PrimaryButtonText".GetLocalized(), CloseButtonText = "Cancel".GetLocalized(), DynamicButtonsEnabled = DynamicDialogButtons.Cancel, DynamicButtons = DynamicDialogButtons.Primary | DynamicDialogButtons.Cancel }); return(dialog); }