///
/// 判断当前窗口中的所有控件是否为空
///
/// 如果所有控件都不为空则返回true,否则返回false
bool IsNotEmpty()
{
// 定义一个字典,用于存储不同类型控件的判断方法
Dictionary<Type, Func<FrameworkElement, bool>> validationMethods = new Dictionary<Type, Func<FrameworkElement, bool>>()
{
// TextBox控件判断方法:判断其Text属性是否为空
{ typeof(TextBox), (element) => !string.IsNullOrEmpty(((TextBox)element).Text) },
// ComboBox控件判断方法:判断其Text属性是否为空
{ typeof(ComboBox), (element) => !string.IsNullOrEmpty(((ComboBox)element).Text) },
// DatePicker控件判断方法:判断其Text属性是否为空
{ typeof(DatePicker), (element) => !string.IsNullOrEmpty(((DatePicker)element).Text) }
};
// 遍历当前窗口中的所有控件
foreach (var element in Panel.Children.OfType())
{
// 如果当前控件的类型在字典中有对应的判断方法,则执行该方法
if (validationMethods.TryGetValue(element.GetType(), out var validationMethod))
{
// 如果该控件不为空,则继续遍历下一个控件
if (!validationMethod(element))
{
return false;
}
}
}
// 如果所有控件都不为空,则返回true
return true;
}