0

データに基づいてExpanderViewsを入力する必要がある StackPanel があります。コード ビハインドで 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>
4

1 に答える 1

0

まだ答えを探している人がいれば、に記載されている解決策を使用してこれを解決しました

WP8 Toolkit ExpanderView へのデータバインディング

于 2013-08-30T12:44:04.423 に答える