使用 ConverterParameter 的使用轉換器
演示如何建立簡單轉換器並使用 ConverterParameter
將引數傳遞給轉換器。在 ConverterParameter 中傳遞的係數乘以係數。
public class MultiplyConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null)
return 0;
if (parameter == null)
parameter = 1;
double number;
double coefficient;
if (double.TryParse(value.ToString(), out number) && double.TryParse(parameter.ToString(), out coefficient))
{
return number * coefficient;
}
return 0;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotSupportedException();
}
}
使用轉換器
- 名稱空間
xmlns:converters="clr-namespace:MyProject.Converters;assembly=MyProject"
- 定義資源
<converters:MultiplyConverter x:Key="MultiplyConverter"/>
- 在繫結中使用它
<StackPanel Orientation="Vertical">
<TextBox x:Name="TextBox" />
<TextBlock Text="{Binding Path=Text,
ElementName=TextBox,
Converter={StaticResource MultiplyConverter},
ConverterParameter=10}"/>
</StackPanel>