私はWin8アプリを開発しています:
json を介して Web サービスからアイテムを取得するデータソース クラスがあります。
public class DataSourceCapitulos
{
public ObservableCollection<capitulo> ListaCapitulos { get; set; }
public DataSourceCapitulos()
{
CargarCapitulos();
}
public async void CargarCapitulos()
{
var resourceUri = Cie10Uri.CapitulosUri;
HttpClient httpClient = new HttpClient();
bool error = false;
HttpRequestException exception = null;
try
{
string response = await httpClient.GetStringAsync(resourceUri);
ListaCapitulos = new ObservableCollection<capitulo>(JsonConvert.DeserializeObject<List<capitulo>>(response));
}
catch (HttpRequestException e)
{
error = true;
exception = e;
}
if (error)
{
MessageDialog adv = new MessageDialog(string.Format("La consulta {0}, devolvió:{1}", resourceUri, exception.Message), "No se pudo consultar!!! ");
adv.Commands.Add(
new UICommand("Ok")
);
await adv.ShowAsync();
}
}
}
そして、このソースを持つ XAML フォームを用意します。
<Page.Resources>
<data:DataSourceCapitulos x:Key="DataSourceCapitulos"></data:DataSourceCapitulos>
</Page.Resources>
最後に、DataSourceCapitulos の ListaCapitulos プロパティを指すソースアイテムを含む GridView:
<GridView Grid.Column="1" Grid.Row="1" ItemsSource="{Binding Source={StaticResource DataSourceCapitulos},Path=ListaCapitulos}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Height="250" Width="250">
<Grid.Background>
<ImageBrush ImageSource="{Binding Imagen}"/>
</Grid.Background>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="90"/>
</Grid.RowDefinitions>
<Rectangle >
<Rectangle.Fill>
<SolidColorBrush Color="#FF122951" Opacity="0.6"/>
</Rectangle.Fill>
</Rectangle>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</GridView>
ここまで私のアプリは問題なく実行されますが、問題はアイテムが表示されないことです。
これは MainPage.xaaml.cs です
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
/// <summary>
/// Se invoca cuando esta página se va a mostrar en un objeto Frame.
/// </summary>
/// <param name="e">Datos de evento que describen cómo se llegó a esta página. La propiedad Parameter
/// se usa normalmente para configurar la página.</param>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
}
}
私が見逃しているものがありますか?