এই মান রূপান্তরকারীটি কৌশলটি করা উচিত:
public class StringToNullableDecimalConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter,
CultureInfo culture)
{
decimal? d = (decimal?)value;
if (d.HasValue)
return d.Value.ToString(culture);
else
return String.Empty;
}
public object ConvertBack(object value, Type targetType,
object parameter, CultureInfo culture)
{
string s = (string)value;
if (String.IsNullOrEmpty(s))
return null;
else
return (decimal?)decimal.Parse(s, culture);
}
}
রিসোর্সগুলিতে এই রূপান্তরকারীটির একটি উদাহরণ ঘোষণা করুন:
<Window.Resources>
<local:StringToNullableDecimalConverter x:Key="nullDecimalConv"/>
</Window.Resources>
এবং এটি আপনার বাধ্যবাধকতায় ব্যবহার করুন:
<TextBox Text="{Binding Price, Converter={StaticResource nullDecimalConv}}"/>
নোট যে TargetNullValue
এখানে উপযুক্ত নয়: এটি যখন source
বাইন্ডিংয়ের শূন্য হয় তখন কোন মানটি ব্যবহার করা উচিত তা নির্ধারণ করতে ব্যবহৃত হয়। এখানে Price
উত্স নয়, এটি উত্সের সম্পত্তি ...