有一個在XAML中沒有定義&&
操作,但你可以結合幾個屬性和使用IMultiValueConverter
:
<Image>
<Image.Visibility>
<MultiBinding Converter="{StaticResource YourMultiConverter}">
<Binding Path="Boolean1" />
<Binding Path="Boolean2" />
</MultiBinding>
</Image.Visibility>
</Image>
public class YourMultiValueConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
bool a = (bool)values[0];
bool b = (bool)values[1];
return a && b ? Visibility.Visible : Visibility.Collapsed;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
或者你可以使用一個Image
風格與條件:
<Image>
<Image.Style>
<Style TargetType="Image">
<Setter Property="Visibility" Value="Collapsed" />
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Boolean1}" Value="True" />
<Condition Binding="{Binding Boolean2}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="Visibility" Value="Visible" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
來源
2017-02-20 11:13:56
mm8
綁定路徑不支持這種類型的表達式,在視圖模型中創建'get'-only屬性'pu blic bool Boolean3 {get {return Boolean1 && Boolean2; }}'並綁定到布爾值3 – ASh
必須有一個簡單的方法來執行類似內聯的操作? – Stacker
您需要使用多重綁定和多值轉換器http://www.codearsenal.net/2013/12/wpf-multibinding-example.html#.WKrPW_LNjMM – MikeT