将标签绑定到两个不工作的单选按钮 - WPF

时间:2016-02-12 13:35:44

标签: wpf xaml data-binding multibinding

我有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的新手..

谢谢!

1 个答案:

答案 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;
}