WPF 设置鼠标焦点在TextBox中就那么难吗?该怎么解决

WPF 设置鼠标焦点在TextBox中就那么难吗?
XAML
<StackPanel >
<Expander Name="expanders" Header="我要选择中你,然后直接在键盘输入字">
<WrapPanel Orientation="Vertical">
<Button Content="Button" Height="23" Name="button1" Width="75" Click="button1_Click" />
</WrapPanel>
</Expander>
</StackPanel>

Button事件后台创建Textbox并且设置设置 
SelectAll、Focus

C# code
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            TextBox txtbox = new TextBox() { Width = 250, Height = 23 };
            txtbox.Text = expanders.Header.ToString();
            //txtbox.SelectAll();
            //txtbox.Focus();
            expanders.Header = txtbox;

        }


------解决方案--------------------
我理解中的重命名,应该是这样做:
将TextBlock与TextBox都放在同一个位置,可以用Grid控件作为容器,然后作为Expander的Header。
一般时候TextBox是隐藏的,当用户的某个操作(触发了某个事件)发生时,将TextBlock隐藏,然后将TextBox显示出来,TextBlock与TextBox两者的Text时bingding在一起的。
------解决方案--------------------
TextBox 要加载完操作才可
C# code

        TextBox txtbox = null;
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            txtbox = new TextBox() { Width = 250, Height = 23 };
            txtbox.Text = expanders.Header.ToString();
            expanders.Header = txtbox;
            txtbox.Loaded += new RoutedEventHandler(txtbox_Loaded);
        }
        void txtbox_Loaded(object sender, RoutedEventArgs e)
        {
            txtbox.SelectAll();
            txtbox.Focus();
        }