我有一组需要在页面上填充一组TextBox
的项目。每次用户单击另一个项目时,我想从最后一个项目中删除旧绑定,并为当前项目设置新绑定。如果我不这样做,则抛出WinRT The object is immutable
异常。
此代码在选择第一个项目时有效,但在下一个项目选择时抛出异常。
titleBinding.Source = selectedItem;
TitleBox.SetBinding(TextBox.ValueProperty, _titleBinding);
答案 0 :(得分:5)
您可以尝试调用ClearValue。
TitleBox.ClearValue(TextBox.ValueProperty);
答案 1 :(得分:1)
我的解决方案是每次加载新项目时创建全新的绑定对象,然后调用TitleBox.SetBinding(TextBox.ValueProperty, newBindingObject);
显然,在设置了源并将其绑定到对象后,您无法取消绑定Binding
对象。