浏览代码

Enabled Adornment Focus in Adornmens scenario

Tig 10 月之前
父节点
当前提交
b6adfb20a0
共有 2 个文件被更改,包括 14 次插入3 次删除
  1. 0 1
      Terminal.Gui/View/View.Navigation.cs
  2. 14 2
      UICatalog/Scenarios/Adornments.cs

+ 0 - 1
Terminal.Gui/View/View.Navigation.cs

@@ -488,7 +488,6 @@ public partial class View // Focus and cross-view navigation management (TabStop
         if (previousFocusedView is { HasFocus: true } && GetFocusChain (NavigationDirection.Forward, TabStop).Contains (previousFocusedView))
         {
             previousFocusedView.SetHasFocusFalse (this);
-            Debug.Assert (!_hasFocus);
         }
 
         _previouslyFocused = null;

+ 14 - 2
UICatalog/Scenarios/Adornments.cs

@@ -90,6 +90,7 @@ public class Adornments : Scenario
 
         window.Padding.Data = "Padding";
         window.Padding.Thickness = new (3);
+        window.Padding.CanFocus = true;
 
         var longLabel = new Label
         {
@@ -106,11 +107,22 @@ public class Adornments : Scenario
                                   window.Padding.Add (labelInPadding);
 
                                   var textFieldInPadding = new TextField
-                                      { X = Pos.Right (labelInPadding) + 1, Y = Pos.Top (labelInPadding), Width = 15, Text = "some text" };
+                                  {
+                                      X = Pos.Right (labelInPadding) + 1,
+                                      Y = Pos.Top (labelInPadding), Width = 15,
+                                      Text = "some text",
+                                      CanFocus = true
+                                  };
                                   textFieldInPadding.Accept += (s, e) => MessageBox.Query (20, 7, "TextField", textFieldInPadding.Text, "Ok");
                                   window.Padding.Add (textFieldInPadding);
 
-                                  var btnButtonInPadding = new Button { X = Pos.Center (), Y = 0, Text = "_Button in Padding" };
+                                  var btnButtonInPadding = new Button
+                                  {
+                                      X = Pos.Center (),
+                                      Y = 0,
+                                      Text = "_Button in Padding",
+                                      CanFocus = true
+                                  };
                                   btnButtonInPadding.Accept += (s, e) => MessageBox.Query (20, 7, "Hi", "Button in Padding Pressed!", "Ok");
                                   btnButtonInPadding.BorderStyle = LineStyle.Dashed;
                                   btnButtonInPadding.Border.Thickness = new (1, 1, 1, 1);