यदि कोई बाध्यकारी के लिए मूल्य कनवर्टर की तलाश में है। यहाँ मैं
<Image Source="{Binding Converter={StaticResource ImageConverter},ConverterParameter=\{Status\}}" />
public class StatusToImageConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
string statusValue = parameter.ToString().ToUpper();
if (!string.IsNullOrEmpty(statusValue))
{
string result = string.Empty;
switch (statusValue)
{
case "IDLE":
result = "idle.png";
break;
case "OFFLINE":
result = "offline.png";
break;
default:
result = "online.png";
break;
}
var uri = new Uri("pack://application:,,,/PIE;component/Images/" + result);
return uri;
}
return string.Empty;
}
// No need to implement converting back on a one-way binding
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return DependencyProperty.UnsetValue;
}
}
घिरा Enum
public enum DevStatus
{
Idle = 1,
Offline = 2,
Active = 3,
}
सेट Enum क्या इस्तेमाल किया ViewModel और कनवर्टर से उचित छवि के लिए बाध्य नहीं है।
<Image Source="{Binding DevStatus, Converter={StaticResource ImageConverter}}" />
क्या यह एक अलग तत्वों के गुणों के लिए काम करता है? उदाहरण के लिए, यदि मैं किसी लेबल के मान के आधार पर एक छवि को बांधना चाहता हूं, तो क्या वह वही काम करेगा? क्या आप विस्तारित कर सकते हैं? – user3841581