0

私はWindows8アプリに取り組んでいますが、WPFは初めてです。私はこれに良い一日を過ごしましたが、なぜそれが機能しないのか理解できません。基本的に、上部にテキストがあるいくつかの画像のグリッドビューを作成しようとしています。ただし、グラデーションで塗りつぶされたボックスのみが表示され、テキストや画像は表示されません。

以下は私のページですが、現時点では非常にシンプルです。画像はプロジェクトに追加され、Assetsフォルダーにあります。

なぜそれが機能しないのか誰か教えてもらえますか?

<Page
x:Class="App4.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App4"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}"
    <GridView 
        x:Name="GridView1"
        Margin="0" ItemsSource="{Binding}" 
        AutomationProperties.AutomationId="GridView1"
        AutomationProperties.Name="Items">
        <GridView.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Vertical">
                    <StackPanel.Background>
                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                            <GradientStop Color="White"/>
                            <GradientStop Color="#FF443585" Offset="1"/>
                        </LinearGradientBrush>
                    </StackPanel.Background>
                    <TextBlock Text="{Binding ItemName}" FontSize="25" Padding="10" Visibility="Visible" Foreground="Red"/>
                    <Image Source="Logo.png" Height="100" Width="250" Visibility="Visible"/>
                </StackPanel>
            </DataTemplate>
        </GridView.ItemTemplate>
    </GridView>

</Grid>

    private void Page_Loaded_1(object sender, RoutedEventArgs e)
    {
        List<Item> Temp = new List<Item>() { new Item() { ItemName = "test" }, new Item() { ItemName = "test 2" } };

        GridView1.DataContext = Temp;
    }

ありがとう

4

2 に答える 2

2

ItemsSourceあなたはのために定義する必要がありますGridView

GridView1.ItemsSource = Temp;
于 2012-11-19T08:36:45.267 に答える
0

これは、GridViewがDataContextプロパティではなくItemsSourceで常に機能するためです。GridView.ItemsSource = Temp;

于 2015-12-09T12:19:46.227 に答える