晚上好
以下代码也可以直接在MainWindow类中使用。
不幸的是,我想在WPF命令中使用MVVM模式技术, 所以我为此定义了一个单独的CommandClass。 它遍历TextBoxes,如果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);
}
}
}
}
也许有人知道出了什么问题。谢谢!
答案 0 :(得分:0)
我明白了。 来自MainWindow的实例应为:
Application.Current.MainWindow