WPF:从datatemplate自动创建新控件时触发的事件是什么?

时间:2015-07-01 11:54:17

标签: c# wpf textbox datatemplate

我有一个ObservableCollection<Tag> Tags,其中Tag类只包含string Content属性。我创建了一个显示所有标签的DataTemplate,并显示了要删除和添加新标签的小按钮。

<DataTemplate>
    <Border BorderThickness="1" BorderBrush="#676B6E" Margin="3">
        <StackPanel Orientation="Horizontal">
            <TextBox Text="{Binding Content, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Tag="{Binding}" Padding="0" Margin="2,0"/>
            <Button Style="{StaticResource RibbonButton}" Click="ButtonRemoveTagClick" Tag="{Binding}" Padding="0">
                <Image Height="12" Width="12" Source="/My Application;component/Resources/cross.png" />
            </Button>
        </StackPanel>
    </Border>
</DataTemplate>

当我向集合中添加新的Tag时,我希望自动处理的文本框能够自动选择内部的所有文本并抓住焦点。

我可以在文本框上处理一个适当的事件,还是有更好的方法来处理它?<​​/ p>

我尝试使用WpfExtendedToolkit.AutoSelectTextBox但是没有按照我想要的方式工作。

1 个答案:

答案 0 :(得分:0)

在这种情况下,TextBox的Loaded事件起到了作用。

    private void TextBox_Loaded(object sender, RoutedEventArgs e)
    {
        TextBox tb = sender as TextBox;

        tb.Focus();
        tb.SelectAll();
    }

感谢Clemens的快速反应。