![](/img/trans.png)
[英]Can I trigger an event in XAML when a control is less than a certain height?
[英]Can I control the order click-events trigger in XAML?
我因此定义了一个XAML列表视图,并在“ PreviewMouseRightButtonUp”和“ PreviewMouseLeftButtonUp”事件上定义了事件:
<ListView Name="lstItems" DockPanel.Dock="Top" >
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}" BasedOn="{StaticResource ListViewItemStyle}">
<EventSetter Event="PreviewMouseRightButtonUp"
Handler="OnListViewItemPreviewMouseRightButtonUp" />
<EventSetter Event="PreviewMouseLeftButtonUp"
Handler="OnListViewItemPreviewMouseLeftButtonUp" />
</Style>
</ListView.ItemContainerStyle>
</ListView>
我还有一个类ObjRow,它继承自UserControl,上面有一个按钮:
<DockPanel LastChildFill="True">
<Button Name="btnOpen" DockPanel.Dock="Left" BorderBrush="Transparent" Style="{StaticResource FolderButton}" IsTabStop="False"/>
</DockPanel>
最后,在列表视图的代码中,我调用一个方法,在该方法中,我在按钮的“ Click”事件上设置了一个事件:
foreach (var obj_items in objs)
{
ObjRow item = new ObjRow();
item.btnOpen.Click += new RoutedEventHandler(btnOpen_Click);
controls.Add(item);
}
lstItems.ItemsSource = controls;
这两个事件均按预期触发。 以前,我没有“ PreviewMouseLeftButtonUp”事件,因此左键单击按钮只会触发“ Click”事件。 但是,添加该事件后,左键单击将同时触发这两个事件–首先是列表视图中的“ PreviewMouseLeftButtonUp”,然后是UserControl中的“ Click”。
我正在寻找一种方法,当单击按钮时忽略“预览”事件,而是仅触发“单击”事件。 有没有办法使这些不同的事件一起玩? 还是我需要找到其他地方放置“ PreviewMouseLeftButtonUp”代码?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.