WPF:从数据模板自动创建新控件时触发的事件是什么?
WPF: What is the event fired when auto creating a new control from datatemplate?
我有一个 ObservableCollection<Tag> Tags
,其中标签 class 只包含一个 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
时,我希望自动创建的文本框自动 select 里面的所有文本并获取焦点。
是否有我可以在文本框本身上处理的适当事件,或者是否有更好的处理方法?
我试过 WpfExtendedToolkit.AutoSelectTextBox
但没有按我想要的方式工作。
在这种情况下,TextBox 的 Loaded 事件起到了作用。
private void TextBox_Loaded(object sender, RoutedEventArgs e)
{
TextBox tb = sender as TextBox;
tb.Focus();
tb.SelectAll();
}
感谢 Clemens 的快速回复。
我有一个 ObservableCollection<Tag> Tags
,其中标签 class 只包含一个 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
时,我希望自动创建的文本框自动 select 里面的所有文本并获取焦点。
是否有我可以在文本框本身上处理的适当事件,或者是否有更好的处理方法?
我试过 WpfExtendedToolkit.AutoSelectTextBox
但没有按我想要的方式工作。
在这种情况下,TextBox 的 Loaded 事件起到了作用。
private void TextBox_Loaded(object sender, RoutedEventArgs e)
{
TextBox tb = sender as TextBox;
tb.Focus();
tb.SelectAll();
}
感谢 Clemens 的快速回复。