晚上好,
以下代码也可以直接在MainWindow类中使用。
不幸的是我想将MVVM模式技术与WPF命令一起使用,所以我为此定义了一个单独的命令类。如果TextBox不为空,它将遍历TextBox并清除它。
它会检测TextBox的数量,但不会检测内容。
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
//Here it would work withouth MainWindow mw.
}
public class ClearCommand : ICommand
{
public bool CanExecute(object param)
{
return true;
}
public event EventHandler CanExecuteChanged;
public void Execute(object param)
{
MainWindow mw = new MainWindow();
IEnumerable<TextBox> collection = mw.Grid.Children.OfType<TextBox>();
foreach (TextBox item in collection)
{
MessageBox.Show(item.Text); //always empty
if (item.Text != "")
{
item.ClearValue(TextBox.TextProperty);
}
}
}
}
也许有人知道问题是什么。谢谢!
啊,我明白了。 MainWindow的实例应该是:
Application.Current.MainWindow