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>

ExpanderView正在分配DataTemplate

如果有人仍在寻找答案,我使用中提到的解决方案解决了这个问题

DataBinding到WP8 Toolkit ExpanderView