|
@@ -142,7 +142,7 @@ public class TabView : View
|
|
|
|
|
|
if (old != _selectedTab)
|
|
|
{
|
|
|
- if (_selectedTabHasFocus || !_containerView.CanFocus)
|
|
|
+ if (TabCanSetFocus ())
|
|
|
{
|
|
|
SelectedTab?.SetFocus ();
|
|
|
}
|
|
@@ -153,6 +153,11 @@ public class TabView : View
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private bool TabCanSetFocus ()
|
|
|
+ {
|
|
|
+ return IsInitialized && SelectedTab is { } && (_selectedTabHasFocus || !_containerView.CanFocus);
|
|
|
+ }
|
|
|
+
|
|
|
private void ContainerViewCanFocus (object sender, EventArgs eventArgs)
|
|
|
{
|
|
|
_containerView.CanFocus = _containerView.Subviews.Count (v => v.CanFocus) > 0;
|
|
@@ -509,7 +514,7 @@ public class TabView : View
|
|
|
i += tabTextWidth + 1;
|
|
|
}
|
|
|
|
|
|
- if (_selectedTabHasFocus)
|
|
|
+ if (TabCanSetFocus ())
|
|
|
{
|
|
|
SelectedTab?.SetFocus ();
|
|
|
}
|