Немного застрял и может понадобиться помощь. Для достижения: всякий раз, когда щелкайте за пределами 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" >
Не беспокойтесь о том, что оно уже скрыто - это боковое меню, которое становится видимым по нажатию кнопки. Эта часть работает нормально.
Так вот вопрос: что я упускаю? Потому что когда это выглядит так - щелчок снаружи панели не вызывает никакой реакции.