【发布时间】:2009-12-02 20:45:40
【问题描述】:
我有以下数据模板:
<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 对象的 Id 和 Title(来自命名空间 Microsoft.TeamFoundation.WorkItemTracking.Client。)
我尝试将它放在 TabItem 中的 TabControl 中,它只显示静态文本。 (不显示 WorkItem ID 和标题,但我的模板中的静态文本会显示。)
很明显,模板正在被触发,但绑定不起作用,我似乎不明白为什么。
这是我的 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 都很好)。
任何关于如何解决此问题的想法将不胜感激。
【问题讨论】:
-
我是笨蛋!这就是我复制和粘贴代码所得到的!反正。感谢伟大的(和快速的答案)。因为他们都很好,所以我投了所有票,并给出了第一个的答案。
-
确实是。很抱歉混淆(选择了错误的排序选项卡)。我已经改变了答案以反映这一点。感谢收看。
标签: wpf data-binding binding