我是C#编程语言的新手。 我的问题是编写一个使用“item.Visibility”属性并检查可见性的方法。 它的伪代码:
private void MenuItem_Check(MenuItem item){
if ((item.Visibility.ToString()=="Hidden") ||(item.Visibility.ToString()=="Collapsed") )
item.Visibility=Visibility.Visible;
}
我最诚挚的问候和提前谢谢。
答案 0 :(得分:8)
您并不关心该项目是隐藏还是折叠 - 您只是想在验证使其可见之前验证它尚未显示。所以检查一下:
private void MenuItem_Check(MenuItem item){
// if item is not already visible, make it visible
if (item.Visibility != Visibility.Visible)
item.Visibility=Visibility.Visible;
}
这有一个额外的好处,即当Visibility.OnlyWithXRayGoggles
常量添加到.NET 6.0中的Visibility enumeration时,允许代码继续工作。
(正如其他答案已经指出的那样,没有充分的理由将值转换为字符串 - 您可以直接与枚举常量本身进行比较)
答案 1 :(得分:3)
不需要ToString()
.. Visibility
是一个枚举...
private void MenuItem_Check(MenuItem item){
if (item.Visibility == Visiblity.Hidden || item.Visibility == Visiblity.Collapsed)
item.Visibility=Visibility.Visible;
}
答案 2 :(得分:0)
private void MenuItem_Check(MenuItem item)
{
if ((item.Visibility == Visibility.Hidden) ||
(item.Visibility == Visibility.Collapsed))
{
item.Visibility = Visibility.Visible;
}
}