2012-11-19 98 views
0

我正在使用Windows 8應用程序,但我是新來的WPF。我已經度過了一個美好的一天,但不知道爲什麼它不起作用。基本上我試圖創建一些頂部帶有文本的圖像的網格視圖。但只顯示一個漸變填充框,不顯示文字或圖像。Windows商店應用程序,網格查看項目不顯示

以下是我此時非常簡單的頁面。該圖像已添加到項目中,並位於「資源」文件夾中。

任何人都可以告訴我爲什麼它不起作用。

<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; 
    } 

感謝

回答

2

您需要定義ItemsSourceGridView

GridView1.ItemsSource = Temp; 
+0

啊,ItemSource。我們什麼時候使用DataContext?而且在XAML中,我如何在圖片文件夾中指定圖片?我試過「C:\ users \ \ Pictures \ MyImage.jpg」,其中是用戶的名字。但沒有圖像顯示。但是,如果我將圖像加載到流中,然後加載到bitmapimage中,然後分配圖像源,它會在代碼後面工作。 –

+0

@Thereisnospoon您需要設置ItemsSouurce,您可以直接設置它或通過XAML中的數據上下文'ItemsSource =「{Binding Temp}」'綁定它。 – Mayank

+0

@Thereisnospoon檢查第二個問題的答案http://www.codingbeta.com/programatically-setting-image-source-in-metro-style-apps-with-wpf/ – Mayank

0

這是因爲在GridView總是用的ItemsSource DataContext屬性不工作。 GridView.ItemsSource = Temp;