我有一些XAML如何确定项目是否是WPF ItemTemplate中的最后一个项目?
<ItemsControl Name="mItemsControl">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBox Text="{Binding Mode=OneWay}" KeyUp="TextBox_KeyUp"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
一个绑定到一个简单的ObservableCollection
private ObservableCollection<string> mCollection = new ObservableCollection<string>();
public MainWindow()
{
InitializeComponent();
this.mCollection.Add("Test1");
this.mCollection.Add("Test2");
this.mItemsControl.ItemsSource = this.mCollection;
}
击中后在最后文本框回车键,我想另一个文本框出现。我有一些代码做的,但有一个缺口:
private void TextBox_KeyUp(object sender, KeyEventArgs e)
{
if (e.Key != Key.Enter)
{
return;
}
TextBox textbox = (TextBox)sender;
if (IsTextBoxTheLastOneInTheTemplate(textbox))
{
this.mCollection.Add("A new textbox appears!");
}
}
功能IsTextBoxTheLastOneInTheTemplate()是,我需要的东西,但无法弄清楚如何写。我怎么去写它?
我已经考虑过使用ItemsControl.ItemContainerGenerator,但不能把所有的东西放在一起。
谢谢!
-Mike