GridView
GotFocus
和LostFocus
似乎每次焦点从一个GridViewItem
转移到另一个GridView
时触发。有没有办法知道整个MyGridView.GotFocus += MyGridView_GotFocus;
MyGridView.LostFocus += MyGridView_LostFocus;
什么时候收到并失去了焦点?
GridViewItem
以上事件MyGridView_GotFocus&每次焦点从MyGridView
for (NSInteger h = 0; h < detailArr.count; h++)
{
NSNumber *num = totalProductArr[h];
NSLog(@"text field text is %@", detailArr[num.integerValue]);
}
移动到另一个时,都会触发MyGridView_LostFocus
答案 0 :(得分:1)
有没有办法知道整个
GridView
什么时候收到并失去了焦点?
没有直接的方法可以做到这一点。我们只能使用变通方法来模仿这种行为。基本思路是,由于GotFocus
和LostFocus
都是Routed Events,我们可以在网页根网格{{1}中模仿GridView的GotFocus
和LostFocus
}和GotFocus
事件。
这是XAML:
LostFocus
以下是代码:
<Grid Name="rootGrid" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<StackPanel Margin="100,50">
<StackPanel VerticalAlignment="Center" >
<GridView Name="myGridView"></GridView>
</StackPanel>
<TextBlock Name="myTb"></TextBlock>
<GridView Name="myGridView2" ></GridView>
<TextBlock Name="output">This is the OutPut Text: </TextBlock>
<Button Name="btnFocus" >Focus Button</Button>
</StackPanel>
</Grid>
正如您可以看到每次根网格得到关注。如果 PreviousFocusItem 不在 TargetGridView 中, CurrentFocusItem 位于 TargetGridView 中。这意味着 TargetGridView 整体上得到了关注。对于LostFocus,逻辑类似。
这是我的完整项目:GridViewFocusSample。