我有一些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