0

少し立ち往生し、助けを借りることができました。達成するには:StackPanelの外側をクリックするたびに、VisibiltyがHiddenに変わるはずです。

非常に簡単なものですが、次の条件を書きました。

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" >

ボタンをクリックすると表示されるサイドメニューです。その部分はうまく機能します。

質問は次のとおりです。何が欠けているのでしょうか。原因はこのような場合です - パネルの外側をクリックしても何の反応もありません。

4

1 に答える 1

1

クリック イベントをスタック パネルの親コンテナーに追加し、クリック イベント ハンドラー内で次のように試してください。

   if (pnlLeftMenu.IsVisible)
    {
        pnlLeftMenu.Visibility = Visibility.Hidden;
    }
于 2016-07-13T03:27:10.617 に答える