【问题标题】:Numeric Keyboard does not appear数字键盘不出现
【发布时间】:2022-01-13 14:44:49
【问题描述】:

我正在使用 Xamarin Forms 构建应用程序。我的键盘有以下代码:

<StackLayout Orientation="Horizontal" Grid.Row="2" Margin="0,0,0,20">
        <Entry Keyboard="Numeric" HeightRequest="200" WidthRequest="200"/>
</StackLayout>

这是我的应用程序上显示的内容:

键盘会出现在 XAML 上吗?还是我需要使用 C# 让它出现?是什么导致键盘不显示?

【问题讨论】:

  • Entry 获得焦点时会出现键盘
  • Entry如何获得焦点?
  • 当用户选择它,或者你称之为Focus方法
  • 如果您使用的是 iOS,请检查模拟器菜单以确保您启用了软键盘
  • 软键盘是 Apple iOS Emulator 的功能,不是 VS Mac 的功能

标签: c# xaml xamarin.forms keyboard visual-studio-mac


【解决方案1】:

我向分配给该特定 xaml 文件的 .cs 文件添加了一个 get 方法。

public static Keyboard Numeric { get; }

当我点击上图中的区域时会出现键盘。

【讨论】:

  • 对不起,这个答案不可能解决问题。
  • 它对我有用。
  • 我很高兴您的键盘现在可以正常工作。我的意思是,为了您的学习以及将来阅读此 Q&A 的任何其他人,该行代码不会对问题中显示的代码产生任何影响。它实际上是不可能的。它碰巧有键盘和数字这两个词,但不是那种 XAML 可以看到的方式。真正的问题是其他问题 - 也许您只需要重建,而 任何 更改都会使其工作。或者您的页面的 XAML 中还有其他需要添加的内容 - 如果不查看页面的整个 XAML,就不可能知道。仅供参考。
【解决方案2】:

我无法重现该问题。这是有效的代码 - 与您的有什么不同?您需要对代码的更改进行试验,以找出导致问题的确切原因。

您可以download the repo。见SoftKeyboardEntryPage。在project TestBugs, file App.xaml.cs,一定要设置MainPage = new SoftKeyboardEntryPage();

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="TestBugs.SoftKeyboardEntryPage">
    <ContentPage.Content>
        <StackLayout>
            <Entry Keyboard="Numeric" Text="Test" HeightRequest="100" WidthRequest="200" BackgroundColor="Pink"/>
        </StackLayout>
    </ContentPage.Content>
</ContentPage>

当我点击粉色区域时,会出现数字键盘。

当我点击白色区域时,键盘消失了。


此外,当应用程序在 iOS 模拟器中运行时,在 Mac 屏幕顶部的模拟器菜单栏中,尝试打开和关闭 IO / Keyboard / Toggle Soft Keyboard。有没有影响?

也许也取消选中Connect Hardware Keyboard - 尽管对我来说,即使连接了 Mac 的键盘,软键盘也会出现。

但是,无论这些设置如何,我都找不到软键盘无法显示的任何情况。

使用运行 iPhone 13 Pro、iOS 15.0 的模拟器进行测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-01
    • 1970-01-01
    • 2016-01-05
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    • 2016-04-13
    • 2015-02-02
    相关资源
    最近更新 更多