我的视图中有一个StackPanel (菜单),当用户单击应用程序栏中的一个按钮时显示此控件。
我想LostFocus它关闭的StackPanel,但是它不能工作,您不需要事件触发器。
XAML
<StackPanel x:Name="StackMenu" Background="{StaticResource PhoneAccentBrush}"
Orientation="Vertical"
Visibility="{Binding StackPanel_IsVisible, Mode=TwoWay,
Converter={StaticResource BooleanToVisibilityConverter}}"
LostFocus="StackMenu_LostFocus">
</StackPanel>C#
private void StackPanel_LostFocus(object sender, RoutedEventArgs e)
{
}发布于 2014-05-08 20:40:08
只有当外部的其他控件(在这种情况下是LostFocus )接收到焦点时,才会引发StackPanel事件。
示例:
StackPanel和一些TextBlock控件。
在这种情况下,将不会引发LostFocus事件,因为TextBlock无法获得焦点StackPanel和一些TextBox控件或其他启用输入的控件。
在这种情况下,LostFocus事件将在其他控件中的一个获得Focus后立即引发。注意:
如果没有任何TextBox控件,则可以通过捕获StackPanel容器上的Tap事件来解决此问题
Tap事件,并且位置也在StackPanel区域时,StackPanel将捕获该事件,而不会将其传播到容器。StackPanel之外时,它只会在容器中的容器或其他控件上引发(这是当您的StackPanel 失去时)。https://stackoverflow.com/questions/23546716
复制相似问题