撤消命令的UWP TextBox方法

时间:2017-07-13 05:42:09

标签: c# xaml textbox uwp undo

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

这样的方法

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:0)

您可以使用ApplicationCommand Class。 只需在按钮命令中设置ApplicationCommand.Undo即可获得单击并执行撤消操作。并设置目标类型=教科书的名称。

    <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