ExpanderView正在分配DataTemplate
本文关键字:DataTemplate 分配 ExpanderView | 更新日期: 2023-09-27 18:29:33
我有一个StackPanel,需要根据我的数据用ExpanderViews填充。我正在后面的代码中创建ExpanderViews,并将XAML中存在的DataTemplate分配给它。
问题是,我能够以编程方式创建ExpanderView,但DataTemplate方法不起作用。我所能看到的只是"Expander Header",点击后不会显示项目。
但是,我可以手动将项目添加到ExpanderView中,它会显示项目。
请帮忙!
C#代码:
ExpanderView expandOne = new ExpanderView()
{
Width = 400,
Margin = new Thickness(2),
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Center,
Expander = new Border()
{
Width = 400,
Background = new SolidColorBrush(Colors.Brown),
Child = new TextBlock()
{
Text = "Expander Header",
FontSize = 34,
Foreground = new SolidColorBrush(Colors.Black),
Margin = new Thickness(40, 5, 5, 5),
},
},
};
// Assign DataTemplate
DataTemplate temp = (DataTemplate)FindName("ItemTemplateName");
expandOne.ItemTemplate = temp;
// add ExpanderView to StackPanel
this.MyStackPanel.Children.Add(expandOne);
XAML代码:
<phone:PhoneApplicationPage.Resources>
<DataTemplate x:Key="ItemTemplateKey" x:Name="ItemTemplateName">
<ListBox Grid.Row="0" x:Name="ItemListBox">
<ListBox.Items>
<TextBlock Text="Filter Content 1" Foreground="Black"/>
<TextBlock Text="Filter Content 2" Foreground="Black"/>
<TextBlock Text="Filter Content 3" Foreground="Black"/>
</ListBox.Items>
</ListBox>
</DataTemplate>
</phone:PhoneApplicationPage.Resources>
如果有人仍在寻找答案,我使用中提到的解决方案解决了这个问题
DataBinding到WP8 Toolkit ExpanderView