2017-07-13 60 views
2

我知道文本框有默认撤销命令,当我按ctrl + Z。我正在创建UWP应用程序,我需要通过在GUI中按下一些按钮来调用此命令。我该怎么做?有没有像textbox.Undo()这样的方法?撤销命令的UWP文本框方法

+0

有一个在UWP创建假的输入数据的API。不幸的是不能记住它的名字,但使用它你应该能够模拟CTRL + Z按键。 –

回答

1

我不认为你会发现任何像Textbox.Undo(),但你可以保存在列表中的所有更改,并在需要时恢复文本。

.XAML:

<TextBox Text="{Binding MyText}" /> 

.CS:

private List<string> _history; 

private double _myText; 
public double MyText 
{ 
    get { return _myText; } 
    set 
    { 
     if(_myText != value) { 
      _myText = value; 
      _history.Add(value); 
      //Notify 
     } 
    } 
} 

private void Undo() { 
    _myText = _history.LastOrDefault(); 
    //Notify 
} 
+0

我知道这是方式,如何解决它。但我想调用默认的撤销命令。我希望应该有某种方式,如何调用它,否则当我们无法随时调用它时,它就没用了。 –

0

您可以使用ApplicationCommand类。 只需在按钮命令中设置ApplicationCommand.Undo,然后执行撤消操作。然后设置Target type =教科书的名称。

<Button Command="ApplicationCommands.Undo" Width="75" TargetType="{x:Type TextBox}"/> 

    <TextBox BorderBrush="Black" BorderThickness="2" Margin="25" 
      TextWrapping="Wrap"> 
    </TextBox> 

This is a link for ApplicationCommand Class

ApplicationCommands Class

+0

此解决方案不适用于UWP – AVK

+0

这不适用于UWP。 –