1

在我的 winRT C# 应用程序中,我有一个文本框,当文本框被禁用时,可视键盘必须隐藏。但它没有按预期工作。

<Page
x:Class="App2.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App2"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
    <TextBox HorizontalAlignment="Left" Margin="458,60,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Height="98" Width="389" KeyUp="TextBox_KeyUp_1"/>
</Grid>

C#

private void TextBox_KeyUp_1(object sender, KeyRoutedEventArgs e)
        {
            if (e.Key == Windows.System.VirtualKey.Enter)
                (sender as TextBox).IsEnabled = false;
        }
4

3 回答 3

0

这是一个示例代码,您可以对照您的代码进行检查

于 2013-01-01T12:42:25.173 回答
0

尝试通过这个来关注另一个 UIElement:

    Descendents(MainFrame).OfType<Button>().FirstOrDefault().Focus(FocusState.Pointer);


    public static IEnumerable<DependencyObject> Descendents(DependencyObject root)
    {
        int count = VisualTreeHelper.GetChildrenCount(root);
        for (int i = 0; i < count; i++)
        {
            DependencyObject child = VisualTreeHelper.GetChild(root, i);
            yield return child;
            foreach (DependencyObject descendent in Descendents(child))
                yield return descendent;
        }
    }
于 2013-07-16T10:53:03.207 回答
0

就我而言,我有一个带有几个 TextBox 字段的表单。在其中之一中,我不希望应用程序显示数字键盘。

为了防止这种情况,我指定了属性 IsReadOnly="True"。

我使用了 IsReadOnly 属性而不是 IsEnabled="False",因为 IsEnabled 禁用了 Tapped 事件,并且当我们在控件之间切换时它不会停止。

<TextBox Name="tbx" Style="{StaticResource TextBoxDefaultStyle}" TabIndex="13" IsReadOnly="True" />
于 2015-08-10T08:30:35.080 回答