如果用户再次点击同一项目,我希望能够取消选择create trigger DPTrigger on DefaultProperties
for insert, update, delete as
if insert then
begin
insert into DefaultProperties_Audit(OldDefaultID, OldKey_, OldValue, OldPid_FK, Modifier, EntryDate, Operation)
select DefaultPropertiesID, Key_, Value, ProcessID_FK, user_name(), GETDATE(), 'insertion' from inserted
end
endif
if update then
doSomething()
endif
if delete then
doSomethingElse()
endif
中的项目。每个人都使用ListBox
SelectionChanged
事件,但是当选择未更改时,这显然不会触发。
也没有ListBoxes
事件,人们推荐的事情。 Visual Studio C#2015不包含此类事件。
我已尝试使用Click
事件,但是MouseLeftButtonDown
填充ListBox
后,此事件不会再触发。另外,我考虑过将鼠标事件附加到ListBoxItems
,但这似乎不切实际,因为每次填充ListBoxItems
时我都必须附加n
个新事件。
有没有人有这个问题的XAML解决方案?
答案 0 :(得分:1)
您可以像我在此处建议的那样处理PreviewMouseLeftButtonDown
容器的ListBox
事件。
答案 1 :(得分:0)
我最初选择 mm8 的答案,但我后来才知道SelectedIndex
事件期间PreviewMouseLeftButtonDown
没有更新,这是我间接要求的一项功能在问题中。在使用此事件时,您实际上会获得之前的过时SelectedIndex
值。
我发现如果您使用MouseLeftButtonUp
事件,它实际上会触发,与MouseLeftButtonDown
事件不同,我获得SelectedIndex
变量的最新值。
对于任何关心的人,这是System.Windows.Controls
的{{1}}版本。我尝试使用ListBox
Systems.Windows.Forms
实现,但它不支持多行开箱即用,与ListBox
不同,所以我放弃了这个想法。
<强> tldr 强>
使用Controls
事件。