Я написал простое приложение WPF, в котором я хотел проверить метод Отменить , предоставляемый WPF TextBox.По сути, при нажатии кнопки «Отменить» значение TextBox должно быть возвращено.
Это мой код xaml
<Window x:Class="WpfApplication2.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<StackPanel>
<TextBox Name="textBox1" />
<Button Name="button1" Click="button1_Click">Undo</Button>
<Button Name="button2" Click="button2_Click">Change value to 100</Button>
</StackPanel>
</Window>
В моем файле xaml.cs я написал следующее:
Случай 1: где работает Undo :: Я нажимаю на кнопку «Изменить значение на 100» в окне, текст TextBox становится равным 100. Теперь я нажимаю кнопку «Отменить», значение TextBox становится пустым.
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
textBox1.Undo();
}
private void button2_Click(object sender, RoutedEventArgs e)
{
textBox1.Text = "100";
}
}
Случай 2: Отмена не работает :: Я устанавливаю значение текста TextBox на 100 в конструкторе, текст TextBox становится равным 100. Теперь я нажимаю на кнопку Отменить значениеTextBox не становится пустым !!
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
textBox1.Text = "100";
}
private void button1_Click(object sender, RoutedEventArgs e)
{
textBox1.Undo();
}
private void button2_Click(object sender, RoutedEventArgs e)
{
}
}
Почему функция отмены не работает во втором случае?Это потому, что TextBox все еще не создан?Но я проверил все свойства TextBox, такие как Loaded, Initialized и т. Д., Которые были установлены в «True»