У меня есть следующий шаблон данных:
<DataTemplate DataType="{x:Type Client:WorkItem}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="200" />
</Grid.ColumnDefinitions>
<Label Name="lblIDText" Margin="2">WI ID:</Label>
<Label Name="lblID" Margin="2" Grid.Column="1"
Target="{Binding Id}"></Label>
<Label Name="lblTitleText" Grid.Row="1" Margin="2">WI Title:</Label>
<Label Name="lblTitle" Margin="2" Grid.Row="2" Grid.ColumnSpan="2"
Target="{Binding Title}"></Label>
</Grid>
</DataTemplate>
в моем разделе <Window.Resources>
. Он предназначен для отображения идентификатора и заголовка объекта WorkItem (из пространства имен Microsoft.TeamFoundation.WorkItemTracking.Client
.)
Я пытаюсь поместить это в TabItem
в TabControl
, и он показывает только статический текст. (Идентификатор и заголовок WorkItem не отображаются, но статический текст в моем шаблоне отображается.)
Очевидно, что шаблон запускается, но привязка не работает, и я не могу понять, почему.
Вот мой C #, который его называет:
private void PickWorkItem_Click(object sender, RoutedEventArgs e)
{
int Id = int.Parse(((Button) e.OriginalSource).Tag.ToString());
_mediator.PickedWorkItem = GetWorkItemInQueryResultListByID(Id);
tabAddLinks.DataContext = _mediator.PickedWorkItem;
tabAddLinks.Content = _mediator.PickedWorkItem;
}
Я попробовал его с DataContext и он работает так же. Когда я отлаживаю, значение для _mediator.PickedWorkItem установлено правильно (Id и Title оба в порядке).
Буду признателен за любые идеи, как это исправить.