-2
<Grid x:Name="LayoutRoot">
    <Button x:Name="btn_A" Content="A" HorizontalAlignment="Left" Height="36" Margin="194,160,0,0" VerticalAlignment="Top" Width="70" Click="Button_Click" />
    <TextBox  x:Name="txt_focus"  HorizontalAlignment="Left" Height="34.5" Margin="177,98,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="97" TextChanged="TextBox_TextChanged" />
</Grid>

下面是c#代码

public partial class focus : Window
{
    public focus()
    {
        this.InitializeComponent();         
    }

    private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
    {           
        txt_focus.Focus();
    }

    private void Button_Click(object sender, RoutedEventArgs e)
    {          

        txt_focus.Text += btn_A.Content.ToString();
    }

    private void txt_focus_GotFocus(object sender, RoutedEventArgs e)
    {
        int count = txt_focus.Text.Length;
        txt_focus.CaretIndex = count;
    }
}

上面的代码运行良好。但我需要的是,我必须在 xaml 中实现以下代码

private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{           
    txt_focus.Focus();
}
4

2 回答 2

0

您可以尝试使用此代码

<StackPanel Orientation="Vertical"
            FocusManager.FocusedElement="{Binding ElementName=txt_focus}">
    <TextBox x:Name="txt_focus" 
             HorizontalAlignment="Left"
             Height="34.5"
             Margin="167.5,139,0,0"
             TextWrapping="Wrap"
             VerticalAlignment="Top"
             Width="97"
             TextChanged="TextBox_TextChanged" />
</StackPanel>
于 2012-08-01T13:23:51.437 回答
-1

您可以使用 javascript 并在此处使用此代码:

if(isset($_REQUEST['sub_con_page'])) 
{ 
//correct 
} 
else  
{ ?> 
<script type="text/javascript"> 
$(document).ready(function() { 
  $("#txt_focus").focus(); 
}); 
</script> 
<?php } ?> 
于 2012-08-01T14:21:54.937 回答