本文整理汇总了C#中Visibility.Where方法的典型用法代码示例。如果您正苦于以下问题:C# Visibility.Where方法的具体用法?C# Visibility.Where怎么用?C# Visibility.Where使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Visibility
的用法示例。
在下文中一共展示了Visibility.Where方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Convert
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (!(parameter is String))
throw new ArgumentException("parameter");
if (!(value is ServiceStatus))
throw new ArgumentException("value");
var str = parameter as String;
string[] ps;
bool operatorAnd = true;
if (str.Contains('|'))
{
ps = str.Split('|');
operatorAnd = false;
}
else if (str.Contains('&'))
{
ps = str.Split('&');
operatorAnd = true;
}
else
{
ps = new[] { str };
operatorAnd = true;
}
var rs = new Visibility[ps.Length];
var i = rs.Length;
var type = typeof(ServiceStatus);
while (i-- > 0)
{
ServiceStatus val = (ServiceStatus)value;
ServiceStatus ss;
if (Enum.TryParse<ServiceStatus>(ps[i], out ss))
{
rs[i] = ss == val ? Visibility.Visible : Visibility.Collapsed;
}
else
throw new ArgumentException("parameter");
}
if (operatorAnd)
return rs.Where(_ => _ == Visibility.Visible).Count() == rs.Length ? Visibility.Visible : Visibility.Collapsed;
else
return rs.Where(_ => _ == Visibility.Visible).Count() > 0 ? Visibility.Visible : Visibility.Collapsed;
}