5

ページに一連のを入力する必要がある一連のアイテムがありTextBoxます。ユーザーが別のアイテムをクリックするたびに、最後のアイテムから古いバインディングを削除し、現在のアイテムに新しいバインディングを設定したいと思います。これを行わないと、WinRTThe object is immutable例外がスローされます。

このコードは、最初のアイテムが選択されたときに機能しますが、次のアイテムの選択で例外をスローします。

titleBinding.Source = selectedItem;
TitleBox.SetBinding(TextBox.ValueProperty, _titleBinding);
4

2 に答える 2

5

ClearValue を呼び出してみてください。

TitleBox.ClearValue(TextBox.ValueProperty);
于 2012-10-19T01:26:02.777 に答える
2

私にとっての解決策は、新しいアイテムが読み込まれるたびに完全に新しいバインディングオブジェクトを作成し、それを呼び出すことでした。TitleBox.SetBinding(TextBox.ValueProperty, newBindingObject);

Bindingどうやら、ソースが設定され、オブジェクトにバインドされた後は、オブジェクトのバインドを解除することはできません。

于 2012-10-18T22:12:25.693 に答える