У меня проблема с помещением данных в элементы управления на wpf TabItem.
Я определил несколько DataTemplates в xaml. Вот один из них:
<Window.Resources><br>
...<br>
<DataTemplate x:Key="memoTab"><br>
<TextBox Name="memoTextBox" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" AcceptsReturn="True" /><br>
</DataTemplate><br>
...<br>
</Window.Resources>
Затем я создаю новую вкладку в коде следующим образом:
TabItem tab = new TabItem();<br>
tab.Header = "Memo";<br>
tab.ContentTemplate = (DataTemplate)FindResource("memoTab");<br>
tab.ApplyTemplate();<br>
System.Windows.Controls.TextBox tb = (System.Windows.Controls.TextBox)tab.Template.FindName("memoTextBox", tab);<br>
if (tb != null) tb.DataContext = memo; //string memo is created earlier as linq query<br>
tabControl.Items.Add(tab); //tabControl is xaml defined
Проблема в том, что tb всегда равен нулю, и поэтому в текстовом поле не отображаются данные (само текстовое поле отображается на вкладке и работает)
Я не использую xaml для создания вкладок в tabControl (кроме первой, которая не использует DataTemplate и подходит), потому что они предназначены для добавления и удаления пользователем во время выполнения.
Есть идеи?