【发布时间】:2015-09-13 12:19:25
【问题描述】:
我是 WPF MVVM 的新手。这是我的视图模型正在做的事情:
按下按钮并启动 ping 命令以查看服务器是否可用:
- 如果为 true,则按钮设置为隐藏。
- 如果为 false,则带有消息(“Servers not availables”)的标签设置为 可见
如何重用以下 IsVisible 方法来设置 Label 的可见性?
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Input;
namespace WpfTest
{
public class PrnViewModel1 : ViewModelBase
{
private ICommand m_PrnServPingCommand;
private Visibility _isVisible=Visibility.Visible;
public PrnViewModel1()
{
PrnServPingCommand = new RelayCommand(new Action<object>(PrnServPing));
}
public ICommand PrnServPingCommand
{
get
{
return m_PrnServPingCommand;
}
set
{
m_PrnServPingCommand = value;
}
}
public void PrnServPing(object obj)
{
string[] serverNames = { "svmsimp1", "svmsimp2" };
bool serversArePingable = Cmethods.PingableAll(serverNames);
if (serversArePingable)
{
IsVisible = Visibility.Hidden; //Button is Hidden
}
else
{
//*** Label with Message "Servers not pingable" set to visible
}
}
public Visibility IsVisible
{
get
{
return _isVisible;
}
set
{
_isVisible = value;
OnPropertyChanged("IsVisible");
}
}
}
}
【问题讨论】:
标签: c# wpf mvvm visibility reusability