からへのパラメーターとして、Enum基になる値 ( ) を持つを渡しています。アイデアは、値を使用してリストに対して反復処理を行い、値が存在するかどうかを確認して を返すことです。リストのタイプはです。しかし、 を に渡すとき、バックを にキャストできません。「クイック ウォッチ」でパラメーターを覗いてみると、基になる値や値がまったく表示されません。intXAMLIValueConverterEnumVisibility enumintEnumconverterEnumint
列挙型など
public class Operations
{
public enum Reporting
{
ReportAccounts = 101,
ReportEngineering = 102,
ReportSoftware = 103,
ReportPR = 104,
ReportCRM = 105
}
public enum Editing
{
EditUser = 201,
EditAccess = 202,
EditView = 203
}
}
XAML など
Visibility={Binding Converter={StaticResource VisibilityConverter},
ConverterParameter={x:Static Operations:Reporting.ReportAccounts}}
IValueConverter例えば
public object Convert(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
bool visibility = OperationList.Exists(list => list.Id == (int)parameter);
if (visibility == true)
{
return Visibility.Visible;
}
else
{
return Visibility.Collapsed;
}
}
に渡されたときに列挙型の基になる値を保持または取得する方法があるかどうかを知りたいですIValueConverter。