TextBox Text IMultiValueConverter 和附加绑定参数
TextBox Text IMultiValueConverter and additional binding parameters
我有一个看起来像这样的文本框:-
<TextBox Text="{Binding Scale, NotifyOnValidationError=True,
UpdateSourceTrigger=LostFocus, NotifyOnSourceUpdated=True, StringFormat={}{0:g5}}" />
我想为文本 属性 使用多值转换器,因为我想绑定 StringFormat
而不是在 xaml 中对其进行硬编码(类似于 this).我说的对吗,使用这样的转换器让我无法指定进一步的绑定表达式“参数”,例如在我的示例中看到的 NotifyOn...
和 UpdateSourceTrigger
? (我意识到 UpdateSourceTrigger 默认 是 LostFocus,但有时我可能想使用 PropertyChanged,例如)。
Am I right in saying that using such a converter leaves me with no way to specify further binding expression "parameters" ...?
不,MultiBinding 也有所有这些属性,您可以这样指定它们:
<TextBox>
<TextBox.Text>
<MultiBinding Converter="{StaticResource YourConverter}"
NotifyOnValidationError="True"
NotifyOnSourceUpdated="True"
UpdateSourceTrigger="LostFocus">
<Binding Path="Scale"/>
<Binding Path="YourStringFormat"/>
</MultiBinding>
</TextBox.Text>
</TextBox>
我有一个看起来像这样的文本框:-
<TextBox Text="{Binding Scale, NotifyOnValidationError=True,
UpdateSourceTrigger=LostFocus, NotifyOnSourceUpdated=True, StringFormat={}{0:g5}}" />
我想为文本 属性 使用多值转换器,因为我想绑定 StringFormat
而不是在 xaml 中对其进行硬编码(类似于 this).我说的对吗,使用这样的转换器让我无法指定进一步的绑定表达式“参数”,例如在我的示例中看到的 NotifyOn...
和 UpdateSourceTrigger
? (我意识到 UpdateSourceTrigger 默认 是 LostFocus,但有时我可能想使用 PropertyChanged,例如)。
Am I right in saying that using such a converter leaves me with no way to specify further binding expression "parameters" ...?
不,MultiBinding 也有所有这些属性,您可以这样指定它们:
<TextBox>
<TextBox.Text>
<MultiBinding Converter="{StaticResource YourConverter}"
NotifyOnValidationError="True"
NotifyOnSourceUpdated="True"
UpdateSourceTrigger="LostFocus">
<Binding Path="Scale"/>
<Binding Path="YourStringFormat"/>
</MultiBinding>
</TextBox.Text>
</TextBox>