해당 이미지를 표시하기 위해 열거 형을 사용하려고합니다. 이를 위해 열거 형을 올바른 리소스 이름으로 변환하는 값 변환기가 있습니다.WPF에서 정적 리소스를 할당하기 위해 바인딩을 사용합니다.
<Image Source="{StaticResource AlarmCat1}" />
그러나 이것은 컨버터가 호출하지 않고 올바른 값이 다시 전달됩니다
는<UserControl.Resources>
<BitmapImage x:Key="AlarmCat1" UriSource="/Lib.Infrastructure;component/Resources/msg_cat1.bmp" />
<BitmapImage x:Key="AlarmCat2" UriSource="/Lib.Infrastructure;component/Resources/msg_cat2.bmp" />
<BitmapImage x:Key="AlarmCat3" UriSource="/Lib.Infrastructure;component/Resources/msg_cat3.bmp" />
<converters:JamCategoryToImageConverter x:Key="AlarmCategoryConverter" />
</UserControl.Resources>
이 작동 다음과 같이 내 자원 정의된다. 올바른 구문은 무엇입니까? 그것은 DependancyProperty
아니므로
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
switch ((AlarmCategory)value)
{
case AlarmCategory.Category1:
return "AlarmCat1";
case AlarmCategory.Category2:
return "AlarmCat2";
case AlarmCategory.Category3:
return "AlarmCat3";
default:
return null;
}
}
그냥 내 변환기를 삭제 ...하지만 당신의 솔루션을 시도 할 것입니다. 좀 더 직관적으로 보임 – uncletall
리소스가 같은 어셈블리에 있지 않기 때문에 예외를 throw하는 중 ... – uncletall
보다 많은 리소스가 작동하지 않을 수 있습니다. 위 코드가 작동한다면, 나는 이것을 사용해야한다 ;-) –