我想在控件上設置可見性屬性,以便在綁定值匹配任意值時可見。WPF綁定來控制可見性「數字不是有效的枚舉值」
我已經建立了我的轉換器作爲靜態資源
應用的結合
<Button Content="Foo" Visibility="{Binding SelectedValue, Converter={StaticResource ValueToVisibilityConverter}, ConverterParameter='1,2'}" />
,但我遇到了錯誤
錯誤1「{綁定的SelectedValue,轉換器= { StaticResource ValueToVisibilityConverter},ConverterParameter ='1,2'}'不能用作'可見性'的值 。數字不是有效的枚舉值。
我的轉換代碼是
public class ValueToVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter,System.Globalization.CultureInfo culture)
{
if (value == null || parameter == null || !(value is String))
return Visibility.Collapsed;
var currentValue = value.ToString();
var matchStrings = parameter.ToString();
var found = false;
foreach (var state in matchStrings.Split(','))
{
found = (currentValue == state.Trim());
if (found)
break;
}
return found ? Visibility.Visible : Visibility.Collapsed;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
錯誤停止編譯,感覺就像它正試圖太聰明,無視我的轉換器。
我是否應用了錯誤或者對某些進程無知?
編輯:
爲了得到轉換爲靜態的資源我有以下我的窗口定義
xmlns:myConverters="clr-namespace:<namespace>;assembly=<assemblyname>"
這在我的窗口資源,右沿側爲其他相同的代碼完美工作的轉換器
<myConverters:ValueToVisibilityConverter x:Key="ValueToVisibilityConverter" />
你爲什麼要傳遞ConverterParameter ='1,2'? –