2014-05-15 85 views
0

我有一个Button,我希望按钮只有在Condition A == trueCondition B == true时才可见。windows phone绑定到两个属性

现在,我的viewModel已经有两个属性,其返回类型为boolean
那么,这可能与XAML Binding实现呢?

回答

0

如果你希望你的按钮是可见取决于两个属性,然后在这种情况下,它会更好,你在你的视图模型做出visibility属性,并绑定该属性到按钮Xaml中的可见性属性

例如: -

在视图模型创建Visibility属性 -

private Visibility _visBtn = Visibility.Collapsed; 

    public Visibility VisBtn 
    { 
     get { return _visBtn ; } 
     set 
     { 
      _visBtn = value; 
      RaisePropertyChanged("VisBtn "); // INotifyPropertyChanged Implemented 
     } 
    } 

你只是按照你的逻辑设置该属性。如: -

If(Condition A == true && Condition B == true) 
    VisBtn = Visibility.Visible; 

现在绑定这个属性按钮在XAML像 -

<Button Content="My Button" Visibility="{Binding VisBtn }" /> 

注意: - 确保您已实现INotifyPropertyChanged的在您的视图模型和XAML中页的DataContext正确设置为相应的Viewmodel

第二种情况: - 如果您想设置一个布尔属性的基础上的按钮能见度那么你就可以实现BooleanToVisibility转换器该转换器映射布尔属性可见性的类型。

然后How to implement boolean to visibility Converter帮助你。