0
조금 갇혀서 도움이 될 수 있습니다. 달성하려면 StackPanel 바깥 쪽을 클릭 할 때마다 Visibility가 Hidden으로 바뀝니다. LostFocus가 실행되지 않음
아주 쉬운
, 나는 다음 조건을 썼다 : pnlLeftMenu 트리거해야하는 패널이다private void pnlLeftMenu_LostFocus(object sender, RoutedEventArgs e)
{
if (pnlLeftMenu.IsFocused == false)
{
pnlLeftMenu.Visibility = Visibility.Hidden;
}
}
. 는 여기에 설명 된 속성의 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" >
걱정, 이미 숨겨져 있음 - 그것은 버튼을 클릭에 vissible 될 사이드 메뉴입니다. 그 부분은 잘 작동합니다.
그래서 질문입니다. 나는 무엇을 놓치고 있습니까? 왜냐하면 이렇게 보일 때 - 패널 바깥 쪽을 클릭하면 반응이 나타나지 않습니다.
포커스를 얻었는지가 다음 숨겨져 같은 시도 스택 패널의 클릭 이벤트 처리기 내부의 부모 컨테이너에 클릭 이벤트를 추가 할 수 있습니까? –
클릭시 속성이 변경됩니다. private void btnLeftMenuShow_Click (object sender, RoutedEventArgs e) { pnlLeftMenu.Visibility = Visibility.Visible; } –
마찬가지로 포커스를 강제로 시도했습니다. private void btnLeftMenuShow_Click (object sender, RoutedEventArgs e) { pnlLeftMenu.Visibility = Visibility.Visible; pnlLeftMenu.Focus(); } –