【问题标题】:Create WPF Function to Hidden Images Controls为隐藏图像控件创建 WPF 函数
【发布时间】:2015-09-17 16:45:04
【问题描述】:

我目前正在开发一个包含一些文本框验证的 WPF C# 应用程序。如果字段有效,则必须显示正确的验证图像,如果无效,则必须显示错误的验证图像,如下图所示。

我的问题是如果我单击取消按钮或其他按钮,如何为所有图像设置visibility = visibility.Hidden。我知道 set img1.visibility = visibility.Hidden;, img2.visibility = visibility.Hidden;, img3.visibility = visibility.Hidden;... 有效,但我需要创建一个函数来做到这一点。我相信我创建了一个图像列表并将这个参数列表传递给一个函数工作正常,我可以使用这个函数进行其他验证。那我该怎么做呢?

【问题讨论】:

  • Bind 每个ImageVisibility 并创建在VisibleHidden 之间切换的函数。如果您使用 bool 属性,请使用 Converter
  • @AbinMathew 怎么做?
  • 转换器Example
  • 没问题希望对你有帮助。

标签: c# .net wpf


【解决方案1】:

请查看这篇文章:Data Binding

如果你实现数据绑定,那么你只需要绑定属性:

<Image Source="..." Visibility="{Binding Img1Visibility}"/>

通过INotifyPropertyChanged实现ViewModel类

然后只需在代码中使用您的属性。

UPD

如果您想简单地创建函数来处理您的图像,然后将您的 img1.visibility = visibility.Hidden;img2.visibility = visibility.Hidden;img3.visibility = visibility.Hidden; 移动到 MainWindow.xaml.cs 文件中的单独函数中,您不必将其传递为在一个 MainWindow 类中工作时的参数。

这么简单:

private void Fun() 
{
    img1.visibility = visibility.Hidden;
    img2.visibility = visibility.Hidden;
    img3.visibility = visibility.Hidden;
}

并从 ClickButton 处理程序请求您的 Fun() 方法。

【讨论】:

  • @coreid 如果对您有帮助,请将答案标记为正确
【解决方案2】:

创建一个图像控件数组并对其进行迭代。

List<Image> _images = new List<Image>
{
    img1,
    img2,
    ...
};

void Cancelar()
{
    foreach (var image in _images)
    {
        image.Visibility = Visibility.Hidden;
    }
}

但是,代码仍然很糟糕。见证我。

【讨论】:

  • 让我们如何做得更好?
  • @coreid Google for WPF validation
猜你喜欢
  • 2014-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-09
  • 2013-10-31
  • 2018-01-14
相关资源
最近更新 更多