4
기본 값 (int
)을 가진 Enum
을 XAML
에서 IValueConverter
까지 매개 변수로 전달 중입니다. 값이 & 인 지 확인하기 위해 목록에 대해 반복하기 위해 Enum
값을 사용하여 Visibility
enum
을 반환하는 것이 좋습니다. 목록의 유형은 int
입니다. 그러나 Enum
을 converter
에 전달하면 Enum
을 int
으로 다시 전송할 수 없습니다. 'Quick Watch'로 매개 변수를 들여다 볼 때 기본 값이나 값을 전혀 볼 수 없습니다.enum (int)의 기본 값을 제거하는 IValueConverter
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'으로 열거 값을 전달합니다. 대신'매개 변수 '를 들여다 보았습니까? –
소스 코드를 올바르게 포맷하십시오. 이 서식은 코드 샘플뿐 아니라 동료 텍스트 사용자도 이미 완료되었습니다.하지만 변경 사항을 취소하면 사용자의 질문을 상당히 쉽게 읽을 수 없게됩니다. –
이 게시물을 회상하는 방법이 있습니까? 나는 그 질문을 실제로 형식화하지 않았는가? 이것은 나의 첫 번째 게시물입니다. – SAm