如何将WPF表单发送到库函数?

时间:2015-12-15 21:44:32

标签: c# wpf

如何将以下代码从Winforms复制到WPF?

我在MyLibrary静态类中有这个函数,我的目标是从WPF格式的析构函数中调用它。

  1. 如何实现此功能?
  2. 如何调用此功能?
  3. 功能:

    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);
    

1 个答案:

答案 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);
    }
}