0

こんにちは、ラジオ ボタンとその前にテキスト ボックスがあります。ボタンをチェックすると、テキスト ボックスが表示されます。

しかし、カーソルをテキストボックスに表示して、ユーザーが入力しやすいようにしたい\どうすればこれらを実行できますか?!

それが私の役目

   private void SelectQualityChecked(object sender, RoutedEventArgs e)
    {
        txtSelectedQuantity.IsEnabled = true;

    }
4

4 に答える 4

3

これはすべてXamlで実行できます。コードビハインドは必要ありません。

RadioButton IsChecked最初にプロパティをプロパティにバインドしTextBox IsEnabled、次にTriggeron trueを使用して、プロパティの使用TextBox IsEnabledにフォーカスを設定します。TextBoxFocusManager.FocusedElement

例:

<Window x:Class="WpfApplication13.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525" Name="UI">
    <Grid>
        <StackPanel>
            <RadioButton x:Name="radioBtn" Content="Click me!"  />
            <TextBox x:Name="txtbox" IsEnabled="{Binding ElementName=radioBtn, Path=IsChecked}">
                <TextBox.Style>
                    <Style TargetType="{x:Type TextBox}">
                        <Style.Triggers>
                            <Trigger Property="IsEnabled" Value="True">
                                <Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=txtbox}"/>
                            </Trigger>
                        </Style.Triggers>
                    </Style>
                </TextBox.Style>
            </TextBox>
        </StackPanel>
    </Grid>
</Window>
于 2013-01-30T05:08:33.403 に答える
2

このコードを試してください:

        private void checkBox1_Checked(object sender, RoutedEventArgs e)
        {
          textBox1.IsEnabled = true;
          textBox1.Focus();
        } 

        private void checkBox1_Unchecked(object sender, RoutedEventArgs e)
        {
            textBox1.IsEnabled = false;
        }
于 2013-01-30T05:25:02.707 に答える
1

これを追加してみてください。チェックボックスのクリックイベントの後にブール値を渡す必要があると思います

   private void SelectQualityChecked(object sender, RoutedEventArgs e)
    {
        txtSelectedQuantity.IsEnabled = SelectQuality.Checked;
        txtSelectedQuantity.Focusable = SelectQuality.Checked;
        if(SelectQuality.Checked)
        {
            txtSelectedQuantity.Focus();
        }
    }
于 2013-01-30T05:01:08.583 に答える
1

このコードを試してください:

private void radioButton1_Checked(object sender, RoutedEventArgs e)
    {
        textBox1.Visibility = System.Windows.Visibility.Visible;
        textBox1.Focus();
    }
于 2013-01-30T05:01:24.790 に答える