2012-05-24 3 views
1

я это связывание на ВидимостьWPF вопрос Кнопка Visibility

Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" 

Я хочу установить Visibility = False если ComputedVerticalScrollBarVisibility = True и Visibility = 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