C# WPF:从datatemplate自动创建新控件时触发的事件是什么?
我有一个C# WPF:从datatemplate自动创建新控件时触发的事件是什么?,c#,wpf,textbox,datatemplate,C#,Wpf,Textbox,Datatemplate,我有一个ObservableCollection标签,其中标签类只包含一个字符串内容属性。我创建了一个DataTemplate,它显示所有标签,并显示用于删除和添加新标签的小按钮 <DataTemplate> <Border BorderThickness="1" BorderBrush="#676B6E" Margin="3"> <StackPanel Orientation="Horizontal"> <
ObservableCollection标签
,其中标签类只包含一个字符串内容
属性。我创建了一个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>
当我向集合中添加新的标记时,我希望自动创建的文本框自动选择其中的所有文本并获取焦点
我是否可以在文本框本身上处理适当的事件,或者是否有更好的方法来处理这个问题
我尝试使用WpfExtendedToolkit.AutoSelectTextBox
,但没有按我想要的方式工作。在本例中,文本框的已加载事件起到了作用
private void TextBox_Loaded(object sender, RoutedEventArgs e)
{
TextBox tb = sender as TextBox;
tb.Focus();
tb.SelectAll();
}
感谢Clemens的快速响应。您可以尝试加载的事件,然后查看绑定是否已建立。否则,TextChanged事件的首次出现可能是合适的。如何向集合中添加标记
?为什么不能在添加新项的代码中执行选择/聚焦操作?文本框的加载的事件可以工作;您需要添加一个标志,以确保只选择/关注TextChanged
事件的第一个实例,以避免激怒用户。如果不清楚地说明你尝试了什么以及问题的确切背景,就不可能给出一个好的答案。我认为这个问题写得很好。我没有提到datatemplate是绑定到Tags集合的WrapPanel数据的一部分,但我真的认为在这种情况下,MVVM方案是隐含的@克莱门斯感谢您的快速回复。加载的事件完成了任务。