Я передаю Enum
с базовым значением (int
) в качестве параметра от XAML
до IValueConverter
. Идея состоит в том, чтобы использовать значение Enum
для перебора списка, чтобы проверить, существует ли значение &. Visibility
enum
. Список имеет тип int
. Но при передаче Enum
на converter
я не могу отдать Enum
обратно на int
. Вглядываясь в параметр с помощью «Быстрого просмотра», я не вижу основного значения или какого-либо значения вообще.IValueConverter, удаляющий базовое значение enum (int)
Enum, eg.
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
.
Вы говорите, вглядываясь * значение *, но передать значение перечисления в качестве 'ConverterParameter'. Вы пытались заглянуть в «параметр» вместо этого? –
Правильно отформатируйте исходный код. Это форматирование уже было сделано не только в ваших образцах кода, но и в тексте вашего сообщения другим пользователем SO, но вы просто расстегнули эти изменения и тем самым сделали ваш вопрос значительно менее удобочитаемым. –
Есть ли способ вспомнить этот пост? Я действительно не отформатировал вопрос? Это мой первый пост. – SAm