我嘗試了幾種不同的方式來獲得一個簡單的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