0

値のセットを持つComboBoxがあります。選択された値は、複数の双方向バインディングを備えたコンバーターによって決定されます。ユーザーがComboBoxの値を変更すると、ConvertBackメソッドが呼び出され、Multiple Bindingで使用される2つのプロパティの値が変更されると期待していましたが、ComboBoxがフォーカスを失っても、これは発生しません。UpdateSourceTriggerプロパティを「LosesFocus」に変更しようとしましたが、これはMultipleBindingでは明らかに無効です。値が変更されたとき、またはコントロールがフォーカスを失ったときに、ConvertBackメソッドを起動するにはどうすればよいですか?どちらも私の目的のために動作します。

XAML:

<ComboBox ItemsSource="{Binding DescriptionList}" DisplayMemberPath="Description" SelectedValuePath="Description" IsEnabled="{Binding EditMode}">
    <ComboBox.SelectedValue>
        <MultiBinding Converter="{StaticResource DescriptionConverter}">
            <Binding Path="PersonRow.DescriptionType" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" />
            <Binding Path="PersonRow.DescriptionSuccessful" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" />
        </MultiBinding>
    </ComboBox.SelectedValue>
</ComboBox>
4

2 に答える 2

1

おそらくに追加Mode="TwoWay"する必要があります<MultiBinding>

于 2012-08-23T13:59:25.680 に答える
0

ジェイの提案は私に正しい方向を示唆した。また、UpdateSourceTrigger = "LostFocus"をMultiBindingタグに追加し、イベントを発生させることができました。

于 2012-08-23T14:15:47.783 に答える