0

プラットフォーム「Windows Phone 8」上でアプリケーション「シェル」に取り組んでいます。コマンドの実行時にすべてのユーザー UI コントローラーを無効にしようとしています。すべてのコントローラー ボタンは「無効」モードで正常に機能しますが、コントローラーの「TextBox」がまだアクティブである理由がわかりません。ユーザーは操作処理中に入力フィールドをクリックできるため、これは非常に面倒です:'(

どうもありがとうございました;-)

これは、操作が終了した後に無効にして有効にしようとする私のコードです:

//.... Get the controller textBox in my class
ttbxInputShell = new RadTextBox() { Text = (ContentPanel.FindName("ttbx_shell") as RadTextBox).Text };
//....



// Disable Ui
    #region DisableUI
    public void DisableUi()
    {
        Deployment.Current.Dispatcher.BeginInvoke(() =>
        {
            ttbxInputShell.IsEnabled = false;           //No Work
            ttbxInputShell.IsHitTestVisible = false;    //No Work
            ttbxInputShell.IsReadOnly = true;           //No Work

            btnLastCommande.IsEnabled = false;          //Work
            btnHelpCommande.IsEnabled = false;          //Work
            btnExecuteCommande.IsEnabled = false;       //Work
        });

    }
    #endregion

    // Enable Ui
    #region EnableUI
    public void EnableUi()
    {
        Deployment.Current.Dispatcher.BeginInvoke(() =>
        {
            ttbxInputShell.IsEnabled = true;
            ttbxInputShell.IsHitTestVisible = true;
            ttbxInputShell.IsReadOnly = false;

            btnLastCommande.IsEnabled = true; 
            btnHelpCommande.IsEnabled = true; 
            btnExecuteCommande.IsEnabled = true;

        });
    }
    #endregion

XAML コード

        <TextBox x:Name="ttbx_shell" KeyDown="ttbx_shell_KeyDown_1" GotFocus="ttbx_shell_GotFocus_1"  LostFocus="ttbx_shell_LostFocus_1" TextChanged="ttbx_shell_TextChanged_1" HorizontalAlignment="Stretch" VerticalAlignment="Center" TextWrapping="Wrap" Height="100" Margin="-7,-8,0,0" FontSize="26" Padding="3,6,3,0" Grid.Row="2" FontFamily="dos_font.ttf#Perfect DOS VGA 437 Win" />

        <Button x:Name="btnLastCommande" Content="F1" Grid.Row="2" Margin="231,0,55,0" Grid.ColumnSpan="3" Tap="btnLastCommande_Tap" />
        <Button x:Name="btnHelpCommande" Content="?" Grid.Row="2" Grid.Column="1" Margin="55,0,95,0" Grid.ColumnSpan="3" Tap="btnHelpCommande_Tap"/>
        <Button x:Name="btnExecuteCommande" Grid.Row="2" Grid.Column="2" Content="Enter" Padding="-3" Margin="55,0,-5,0" Grid.ColumnSpan="2" Tap="btnExecuteCommande_Tap"/>
    </Grid>

そして、これは私のアプリケーションの写真で、入力がまだ有効になっていることがわかります..しかし、ボタンは無効になっています:

ここに画像の説明を入力

4

1 に答える 1

0

UI に追加されていないコントロールを有効または無効にします。したがって、UI に表示される「ttbx_shell」という名前の元のコントロールは影響を受けません。

于 2014-04-25T14:04:30.063 に答える