我有2个单选按钮和标签。 我希望标签的可见性属性为"可见"仅在检查其中一个单选按钮的情况下。
在MainWindow.xaml上:
<Label x:Name="outputFolderLabel" Content="Select destination folder:"
Height="30" Grid.Row="1" Grid.Column="0" FontSize="13.333" Margin="5 10">
<Label.Visibility>
<MultiBinding Converter="{StaticResource FilterConverter}">
<Binding ElementName ="RadioButNew" Path="IsChecked" Mode="OneWay"/>
<Binding ElementName ="RadioButUpdate" Path="IsChecked" Mode="OneWay"/>
</MultiBinding>
</Label.Visibility>
</Label>
在MainWindow.xaml.cs上:
public class SearchFilterConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return (bool)values[0] || (bool)values[1];
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
它没有用......有什么建议吗? 我是WPF的新手..
谢谢!
答案 0 :(得分:1)
您正在从转换器返回一个bool。 而不是你必须返回System.Windows.Visibility。
ES:
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (values[0] is bool && values[1] is bool)
if ((bool)values[0] || (bool)values[1])
return Visibility.Visible;
return Visibility.Collapsed;
}