Exemplo n.º 1
0
 private static void CheckCommandBinding(
     TextBox textBox, TextCommandFlags textCommandFlags,
     IEnumerable<CommandBinding> commandBindings, CommandBindingCollection commandBindingCollection,
     RoutedUICommand command, TextCommandFlags commandFlag, TextCommandType commandType)
 {
     var commandBinding = commandBindings.FirstOrDefault(cb => cb.Command == command);
     if (textCommandFlags.HasFlag(commandFlag) && commandBinding == null)
     {
         commandBindingCollection.Add(TextCommandBindings.CreateCommandBinding(textBox, commandType));
     }
     else if (!textCommandFlags.HasFlag(commandFlag) && commandBinding != null)
     {
         commandBindingCollection.Remove(commandBinding);
     }
 }
Exemplo n.º 2
0
 public static void SetTextCommands(DependencyObject obj, TextCommandFlags value)
 {
     obj.SetValue(TextCommandsProperty, value);
 }
Exemplo n.º 3
0
        private static void AddOrRemoveCommandBindings(TextBox textBox, TextCommandFlags textCommandFlags)
        {
            var commandBindingCollection = textBox.CommandBindings;
            var commandBindings = commandBindingCollection.Cast<CommandBinding>().ToArray();

            CheckCommandBinding(
                textBox, textCommandFlags, commandBindings, commandBindingCollection, TextCommands.Trim,
                TextCommandFlags.TrimAll, TextCommandType.TrimAll);
            CheckCommandBinding(
                textBox, textCommandFlags, commandBindings, commandBindingCollection,
                TextCommands.TrimEnd, TextCommandFlags.TrimEnd, TextCommandType.TrimEnd);
            CheckCommandBinding(
                textBox, textCommandFlags, commandBindings, commandBindingCollection,
                TextCommands.TrimStart, TextCommandFlags.TrimStart, TextCommandType.TrimStart);
        }