在TextBox上设置转换器

本文关键字:转换器 设置 TextBox | 更新日期: 2023-09-27 18:21:06

我需要计算/更改文本框与其可绑定源之间的输入形式。我试图实现这一点的方法是借助转换器。

转换器:

    public class ParameterConverter : IValueConverter
{
    public object Convert(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        if (value == null)
            return string.Empty;
        string originalParameValue = value.ToString();
        string fixedParameterValue = string.Format("@_{0}", originalParameValue);
        return fixedParameterValue;
    }
    public object ConvertBack(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new System.NotImplementedException();
    }
}

XAML:

    <Window.Resources>
    <converters:ParameterConverter x:Key="parameterConverter"  />
</Window.Resources>
<Grid>
    <TextBox Text="{Binding ParameterA, Converter={StaticResource parameterConverter}}"/>
</Grid>

问题是,转换器只工作一次。它的方法是正确的(我指的是转换器)还是有其他方法?

在TextBox上设置转换器

也许绑定模式不是双向的,您的属性fire属性是否发生了更改。

您的数据上下文是否实现INotifyPropertyChanged,并且在ParameterA更改时是否调用PropertyChanged?似乎没有人通知文本框需要更新其内容。