我的代码:
Private bolCodeRunning As Boolean = False
Private Sub Refresh_PCA_Instance()
Dim c_Instance As IEnumerable(Of t_Instance)
c_Instance = From Inst In db.t_Instances
Where Inst.ID = guInstance_ID
Select Inst
bolCodeRunning = True
If c_Instance.First.FK_PCAType_ID = guShortApplication Then
FullApplication_RadioButton.IsChecked = True
Else
ShortApplication_RadioButton.IsChecked = True
End If
bolCodeRunning = False
End Sub
Private Sub FullApplication_RadioButton_Checked(sender As Object, e As RoutedEventArgs) Handles FullApplication_RadioButton.Checked, ShortApplication_RadioButton.Checked
If bolCodeRunning = True Then Exit Sub
'DOES STUFF HERE
End Sub]
这是我想要的,所以如果控件是通过代码更新的,它会退出更改事件。编辑: - 我想......我开始怀疑自己是否会失去理智,这从未奏效......?
今天改变了。它不再在该行上运行已检查的事件" FullApplication_RadioButton.IsChecked = True"或者" ShortApplication_RadioButton.IsChecked = True",而是在" Refresh_PCA_Instance" ...
的End Sub之后运行检查过的事件。我以前从未见过这个,并且无法弄清楚如何让它在变化时做到这一点,因为我现在无法判断事件是用户启动还是代码。 ..
这不仅影响此控件。它似乎会影响此窗口(WPF)上的所有控件/事件。
请帮忙。
更新 我没有找到修复或原因,但是一个新的解决方案,代码和xaml复制/粘贴修复它。损坏?谁知道。我仍然有原始的解决方案,所以如果有人有实际的解决方案我会测试它并接受你的答案是否有效。