我有以下SQL表结构
在XAML中我有以下
<RadioButton IsChecked="{Binding CurrentItem.Item[DeleteOwn]}" Content="Delete Own" HorizontalAlignment="Left" Margin="21,46,0,0" VerticalAlignment="Top"/> <RadioButton IsChecked="{Binding CurrentItem.Item[DeleteAll]}" Content="Delete All" HorizontalAlignment="Left" Margin="21,67,0,0" VerticalAlignment="Top"/> <RadioButton IsChecked="{Binding CurrentItem.Item[NoDelete]}" Content="No Delete" HorizontalAlignment="Left" Margin="21,88,0,0" VerticalAlignment="Top"/>
以下是我的代码检索数据:
Property MyItems As BindingListCollectionView
Property CurrentItem As DataRowView
Sub LoadData()
MyItems = CollectionViewSource.GetDefaultView(GlobalApp.GetData("select * from mytable").DefaultView)
NotifyProperty("MyItems")
End Sub
以及currentItem的关联方式
Private Sub ChangeSelected(sender As Object, e As RoutedPropertyChangedEventArgs(Of Object))
Dim MyTreeView As TreeView = DirectCast(sender, TreeView)
CurrentItem = MyTreeView.SelectedItem
NotifyProperty("CurrentItem")
End Sub
当加载到窗口中的数据值显示正确但在通过单击单选按钮更改值后,绑定将丢失,并且它向单选按钮显示不正确的值。 我怎样才能使它工作?
答案 0 :(得分:0)
我不知道这是否有助于其他任何人,但我能够通过做两件事来解决它。
在每个单选按钮中,我必须声明3个不同的组名(对我来说这是错误的但是为了让它工作我没有其他方式),例如
<RadioButton GroupName="a"/>
<RadioButton GroupName="b"/>
<RadioButton GroupName="c"/>
每当其中一个单选按钮将状态更改为True时,其他单选按钮应设置为false,我希望此行为是开箱即用的
(当单选按钮中的绑定不起作用时)
但我必须自己实现它,因为绑定不能正常工作,所以在我后面的代码中,当我的一个属性更改为True时,我将其他属性设置为False