我正在使用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;
}
感谢
啊,ItemSource。我们什么时候使用DataContext?而且在XAML中,我如何在图片文件夹中指定图片?我试过“C:\ users \ \ Pictures \ MyImage.jpg”,其中是用户的名字。但没有图像显示。但是,如果我将图像加载到流中,然后加载到bitmapimage中,然后分配图像源,它会在代码后面工作。 –
@Thereisnospoon您需要设置ItemsSouurce,您可以直接设置它或通过XAML中的数据上下文'ItemsSource =“{Binding Temp}”'绑定它。 – Mayank
@Thereisnospoon检查第二个问题的答案http://www.codingbeta.com/programatically-setting-image-source-in-metro-style-apps-with-wpf/ – Mayank