Я пытаюсь проанализировать веб-API. На основе полученных записей я хочу показать всю транзакцию банковского счета (список всех записей), связанных с одной учетной записью, и хочу показать это в динамически созданный текстовый блок. Похожие, как это: -Как динамически создавать текстовые блоки на основе проанализированных записей
Вот мой парсер класс
public class Transaction
{
public string dec { get; set; }
public string amt { get; set; }
public string date { get; set; }
}
public class Loginresponse
{
public List<Transaction> transaction { get; set; }
}
Здесь DEC- Описание, amt- Сумму, я успешно проанализирован веб-API.
<Grid Name="accountdetails" Margin="0,0,0,0" Background="#66ac22" HorizontalAlignment="Left" Width="456" Grid.ColumnSpan="2">
<TextBlock Grid.Row="0" VerticalAlignment="Center" Margin="10,0,0,0" Text="No." Foreground="White"/>
<TextBlock VerticalAlignment="Center" Margin="66,0,319,0" Text="Date." Foreground="White"/>
<TextBlock VerticalAlignment="Center" Margin="166,0,140,0" Text="Description" Foreground="White"/>
<TextBlock VerticalAlignment="Center" Margin="364,0,0,0" Text="Amount" Foreground="White"/>
<ItemsControl Name="accdetails" ItemsSource="{Binding Path=transaction}" Margin="0,10,0,-440">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Background="Black">
<TextBlock Text="{Binding dec}" Foreground="Black" />
<TextBlock Text="{Binding amt}" Foreground="Black"/>
<TextBlock Text="{Binding date}" Foreground="Black"/>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
Мой класс файл: -
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
try
{
IDictionary<string, string> parameters = this.NavigationContext.QueryString;
if (parameters.ContainsKey("key"))
{
var root1 = JsonConvert.DeserializeObject<RootObject>(parameters["key"]);
this.accdetails.DataContext = root1.loginresponse.transaction;
}
}
catch (Exception)
{
}
}
Сейчас я не в состоянии понять, как динамически создавать TextBlock и показать все это Информация получена из парсера. Было бы оценено любое руководство, предложение или правильный метод написания кода с деталями.
<Grid x:Name="LayoutRoot">
<phone:Pivot Title="" Style="{StaticResource PivotStyle1}">
<phone:PivotItem Header="transactions" FontSize="20">
<Grid Margin="0,0,0,420" Background="#f9f9f9">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Name="accountdetails" Margin="0,0,0,0" Background="#66ac22" HorizontalAlignment="Left" Width="456" Grid.ColumnSpan="2">
<TextBlock VerticalAlignment="Center" Margin="10,0,0,0" Text="No." Foreground="White"/>
<TextBlock VerticalAlignment="Center" Margin="66,0,319,0" Text="Date." Foreground="White"/>
<TextBlock VerticalAlignment="Center" Margin="166,0,140,0" Text="Description" Foreground="White"/>
<TextBlock VerticalAlignment="Center" Margin="364,0,0,0" Text="Amount" Foreground="White"/>
<ListBox x:Name="ListBox1" Margin="5,32,0,-340"
Width="450" HorizontalAlignment="Left" Padding="0" VerticalAlignment="Center"
ItemsSource="{Binding}" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" >
<TextBlock Grid.Column="0" Text="{Binding no}" Foreground="Black" Margin="5,5,0,0" HorizontalAlignment="Left"/>
<TextBlock Grid.Column="1" Text="{Binding date}" Foreground="Black" Margin="30,5,0,0" HorizontalAlignment="Left" />
<TextBlock Grid.Column="2" Text="{Binding dec}" Foreground="Black" Margin="40,5,0,0" HorizontalAlignment="Left"/>
<TextBlock Grid.Column="3" Text="{Binding amt}" Foreground="Black" Margin="120,5,80,0" HorizontalAlignment="Left" VerticalAlignment="Center"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Теперь я получаю список текста, но я не могу показать его правильно в сетках.
Как я могу ограничить количество отображаемых записей? Я просто хочу показать последние 25 записей только из всех транзакций, что я должен делать ??? – Dexto
Я отредактировал свой ответ. –
вам нужно будет проанализировать полученный вами веб-ответ в виде списка типов в качестве класса парсера. –