1
我有一個使用DataTemplate提供UI的GridView,以便用戶可以管理對數據服務的訂閱。 DataTemplate包含文本和圖像以及Button和ToggleButton。在移動和桌面上使用此功能,用戶可以點擊或單擊控件中的按鈕。在桌面上,您甚至可以在控件中選擇Tab並選擇按鈕。但是,在Xbox上,我只能關注每個DataTemplate項目,我無法將其專注於內部按鈕,是否有辦法解決此問題,而無需在Xbox上啓用鼠標模式?GridView的DataTemplate中的焦點控制
<DataTemplate x:Key="DataTemplate1">
<Grid Background="#33FFFFFF">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Image HorizontalAlignment="Center" Height="100" VerticalAlignment="Center" Width="80" Source="{Binding TEAMID, Converter={StaticResource uriConverter}}" Grid.RowSpan="3"/>
<TextBlock HorizontalAlignment="Center" TextWrapping="Wrap" Text="{Binding TEAMNAME}" VerticalAlignment="Top" Grid.Column="1"/>
<Button Content="Unsubscribe" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Row="1" Grid.Column="1" Tag="{Binding TEAMID}" Tapped="Button_Tapped"/>
<ToggleButton x:Name="subscribe_tb" Content="" HorizontalAlignment="Center" FontFamily="Segoe MDL2 Assets" Tag="{Binding TEAMID}" IsChecked="{Binding isPinned}" Grid.Row="3" Grid.Column="1" Unchecked="subscribe_tb_Unchecked" Checked="subscribe_tb_Checked"/>
</Grid>
</DataTemplate>
所以當你瀏覽,它完全忽略了裏面的按鈕,或者你看不到任何可視聚焦? –
焦點視覺是圍繞外框(基本上是網格),並且您不能使用控制器將焦點移動到按鈕內部,只能移動到下一個數據平臺等。 –
這可能是一個長鏡頭,但我認爲您可以嘗試先啓用'GridView'上的'IsFocusEngagementEnabled',然後在'GridViewItem'樣式中將'IsTabStop'設置爲'False'。 –