![](/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.