如何将以下代码从Winforms复制到WPF?
我在MyLibrary
静态类中有这个函数,我的目标是从WPF格式的析构函数中调用它。
功能:
public static void EmptyFields(Control parent)
{
try
{
foreach (Control c in parent.Controls)
{
if (c.GetType() == typeof(TextBox))
{
((TextBox)(c)).Text = string.Empty;
}
if (c.GetType() == typeof(ComboBox))
{
((ComboBox)(c)).Text = string.Empty;
}
if (c.GetType() == typeof(CheckBox))
{
((CheckBox)(c)).Checked = false;
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
//System write e.Message;
}
}
致电:
OpSupLib.EmptyFields(this);
答案 0 :(得分:1)
在WPF中,您应该使用UIElementCollection
,因此请将Control
更改为UIElementCollection
。同样在WPF中,您应该使用IsChecked
的{{1}}属性并使用CheckBox
来显示消息。它应该是这样的:
MessageBox.Show(e.Message);
并称之为:
public static void EmptyFields(UIElementCollection parent)
{
try
{
foreach (Control c in parent)
{
if (c.GetType() == typeof(TextBox))
{
((TextBox)(c)).Text = string.Empty;
}
if (c.GetType() == typeof(ComboBox))
{
((ComboBox)(c)).Text = string.Empty;
}
if (c.GetType() == typeof(CheckBox))
{
((CheckBox)(c)).IsChecked = false;
}
}
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
}