首页 > 解决方案 > TextBox 文本 IMultiValueConverter 和其他绑定参数

问题描述

我有一个看起来像这样的文本框:-

<TextBox Text="{Binding Scale, NotifyOnValidationError=True, 
               UpdateSourceTrigger=LostFocus, NotifyOnSourceUpdated=True, StringFormat={}{0:g5}}" />

我想为 Text 属性使用多值转换器,因为我想StringFormat在 xaml 中绑定而不是硬编码它(类似于this)。我是否正确地说使用这样的转换器让我无法指定进一步的绑定表达式“参数”,例如在我的示例中看到的NotifyOn...UpdateSourceTrigger(我意识到 UpdateSourceTrigger 默认LostFocus,但有时我可能想使用 PropertyChanged,例如)。

标签: wpfxaml

解决方案


我是否正确地说使用这样的转换器让我无法指定进一步的绑定表达式“参数”......?

不,MultiBinding 也具有所有这些属性,您可以像这样指定它们:

<TextBox>
    <TextBox.Text>
        <MultiBinding Converter="{StaticResource YourConverter}"
                      NotifyOnValidationError="True"
                      NotifyOnSourceUpdated="True"
                      UpdateSourceTrigger="LostFocus">
            <Binding Path="Scale"/>
            <Binding Path="YourStringFormat"/>
        </MultiBinding>
    </TextBox.Text>
</TextBox>

推荐阅读