簡體   English   中英

LostFocus不觸發

[英]LostFocus not firing

有點卡住了,可以使用一些幫助。 要實現:每當在StackPanel外部單擊時,“可見性”應更改為“隱藏”。

很簡單,我寫下了下一個條件:

private void pnlLeftMenu_LostFocus(object sender, RoutedEventArgs e)
    {
        if (pnlLeftMenu.IsFocused == false)
        {
            pnlLeftMenu.Visibility = Visibility.Hidden;
        }
    }

其中pnlLeftMenu是面板,應觸發該面板。 這是xaml片段,具有描述的屬性:

    <StackPanel x:Name="pnlLeftMenu"                    
                Orientation="Vertical" 
                Height="475" 
                HorizontalAlignment="Left" 
                VerticalAlignment="Bottom"
                Margin="57,0,0,0"
                Visibility="Hidden"
                Background="{StaticResource BlueFadedBrush}" 
                IsVisibleChanged="pnlLeftMenu_IsVisibleChanged" 
                Focusable="True"
                LostFocus="pnlLeftMenu_LostFocus" >

不用擔心,它已經被隱藏了-它是一個側面菜單,單擊按鈕即可看到。 那部分工作正常。

所以問題是:我想念什么? 原因如下:面板外部的點擊沒有任何反應。

您可以將click事件添加到堆棧面板的父容器,並在click事件處理程序內部嘗試像

   if (pnlLeftMenu.IsVisible)
    {
        pnlLeftMenu.Visibility = Visibility.Hidden;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM