我尝试了几种不同的方式来获得一个简单的DataTemplate示例工作。但是,我没有任何运气。下面的XAML的数据上下文在代码隐藏中设置。这里包含的两个代码示例包含在我的应用程序中的元素中,但这是唯一的外部考虑。第一个代码示例有效。它显示数据。但是,如果我将功能放在DataTemplate中,然后尝试使用该模板,则不起作用。我似乎无法得到一个DataTemplate在WPF中工作
工作实例:
<Canvas Height="100" Width="300">
<TextBlock Text="{Binding Path=DataSheet.Item.ClassId}" Canvas.Left="10"></TextBlock>
<TextBlock Text="{Binding Path=DataSheet.Item.ClassName}" Canvas.Right="100"></TextBlock>
</Canvas>
的例子,不工作(但不会引发错误):
<Window.Resources>
<DataTemplate x:Key="FirstTemplate">
<Grid Margin="4">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Key" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBox Text="{Binding ClassId}"></TextBox>
<TextBox Text="{Binding ClassName}"></TextBox>
</Grid>
</DataTemplate>
</Window.Resources>
<Grid>
<ListBox ItemsSource="{Binding Path=DataSheet.Item}" Grid.IsSharedSizeScope="True"
HorizontalAlignment="Stretch"
ItemTemplate="{StaticResource ResourceKey=FirstTemplate}"/>
</Grid>
任何意见,至于是什么,我做错了真的可以理解。
谢谢。
这工作。谢谢!我还必须将DataTemplate更改为ControlTemplate,但其他部分保持不变。它是一个开始。现在我可以在此基础上添加更复杂的内容。我怀疑这个问题可能是Collection和Item,但是我没有完全弄清楚。再次感谢。 – rogdawg 2011-03-18 20:26:37
我已经更新了我的答案。现在它完全正常工作。 – 2011-03-18 20:36:04