2012-05-24 62 views
1

上能见度我有这样的结合WPF按钮的可见性问题

Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" 

我想设置Visibility = False如果ComputedVerticalScrollBarVisibility = TrueVisibility = True如果ComputedVerticalScrollBarVisibility = false

有没有这样的事情:

Visibility="!{TemplateBinding ComputedVerticalScrollBarVisibility}" 

感谢 Sai

回答

2

哈桑的观点,这里的转换是非常简单的:

public class VisibilityInverterConverter : IValueConverter 
{ 
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     if (value != null && value is Visibility) 
     { 
      var vis = (Visibility) value; 

      if (vis == Visibility.Hidden || vis == Visibility.Collapsed) 
      { 
       return Visibility.Visible; 
      } 

      return Visibility.Collapsed; 
     } 

     return Visibility.Visible; 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     throw new NotImplementedException(); 
    } 
} 
+0

得到一个错误:设置属性“System.Windows.Data.Binding.Path”引发了异常。 代码:Visibility =“{Binding Path = {TemplateBinding ComputedVerticalScrollBarVisibility},Converter = {StaticResource VisibilityInverter}}”>> –

+0

什么是例外? – Robaticus