Comment afficher les éléments horizontalement dans un contrôle listbox?

Je suis en train d'élaborer le window phone 7 application. Je suis nouveau à la fenêtre phone 7 application. J'ai l'suivantes du contrôle listbox dans mon application

<ListBox Margin="0,355,70,205" Name="WeekSummaryListBox" DataContext="{Binding}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <TextBlock TextWrapping="Wrap" Width="150" Text="{Binding Amount}" Foreground="Orange"></TextBlock>
                <TextBlock TextWrapping="Wrap" Width="150" Text="{Binding Currency}" Foreground="Orange"></TextBlock>                            
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>

    <ListBox.Template>
        <ControlTemplate>
            <ScrollViewer HorizontalScrollBarVisibility="Visible">
                <ItemsPresenter />
            </ScrollViewer>
        </ControlTemplate>
    </ListBox.Template>
</ListBox>

Dans au-dessus de la zone de liste de contrôle d'affichage des éléments à la verticale. Je veux afficher les éléments dans un contrôle listbox horizonatlly. Donc je suis en utilisant le code suivant.

<ListBox.ItemsPanel>
    <ItemsPanelTemplate>
        <StackPanel Orientation="Horizontal"/>
    </ItemsPanelTemplate>
</ListBox.ItemsPanel>

mais quand j'ai mis les deux textblock à l'intérieur de stackpanel il donne une erreur. Pour cela, je suis en utilisant le code suivant

<StackPanel Orientation="Horizontal">
    <TextBlock TextWrapping="Wrap" Width="150" Text="{Binding Amount}" Foreground="Orange"></TextBlock>
    <TextBlock TextWrapping="Wrap" Width="150" Text="{Binding Currency}" Foreground="Orange"></TextBlock>                            
</StackPanel>

Je suis en train de le code suivant. Dans le code suivant, j'obtiens l'erreur

<ListBox Margin="0,355,70,205" Name="WeekSummaryListBox" DataContext="{Binding}">
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal">
                <TextBlock TextWrapping="Wrap" Width="150" Text="{Binding Amount}" Foreground="Orange"></TextBlock>
                <TextBlock TextWrapping="Wrap" Width="150" Text="{Binding Currency}" Foreground="Orange"></TextBlock>
            </StackPanel>
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
    <ListBox.Template>
        <ControlTemplate>
            <ScrollViewer HorizontalScrollBarVisibility="Visible">
                <ItemsPresenter />
            </ScrollViewer>
        </ControlTemplate>
    </ListBox.Template>
</ListBox>

J'obtiens le message d'erreur "Ne peut pas explicitement modifier des enfants de la collection de Panneau utilisé comme ItemsPanel pour ItemsControl.ItemsControl geneartes éléments d'enfant pour Panneau"

Je suis à l'aide de la fonction suivante pour afficher les données dans la zone de liste:

public void WeekSumValue(int TransactionType_ID)
{
UserInterfaceManager UserInterfaceManagerObj = new UserInterfaceManager();
List<UserInterfaceManager.TotalSummary> WeekSummary = new List<UserInterfaceManager.TotalSummary>();           
ObservableCollection<AmountCurrency> WeekIncomeSumCollection = new ObservableCollection<AmountCurrency>();
WeekSummary = UserInterfaceManagerObj.LoadWeekSum(SelectedButtonName, TransactionType_ID, selectedDate);
foreach (UserInterfaceManager.TotalSummary vWeekSummary in WeekSummary)
{
WeekIncomeSumCollection.Add(new AmountCurrency(vWeekSummary.Amount, vWeekSummary.Currency));
}
if (WeekIncomeSumCollection.Count != 0 && SummaryCombobox.SelectedIndex == 0)
{
WeekSummaryListBox.ItemsSource = WeekIncomeSumCollection;
}
else if (WeekIncomeSumCollection.Count != 0 && SummaryCombobox.SelectedIndex == 2)
{
MonthSummaryListBox.ItemsSource = WeekIncomeSumCollection;
}
else
{
ObservableCollection<TextBlock> NoRecordsCollection = new ObservableCollection<TextBlock>();
TextBlock NoRecordsTextBlock = new TextBlock();
NoRecordsTextBlock.Text = "No record found";
NoRecordsTextBlock.FontSize = 25;
NoRecordsTextBlock.Foreground = new SolidColorBrush(Colors.Gray);
NoRecordsCollection.Add(NoRecordsTextBlock);
if (SummaryCombobox.SelectedIndex == 0)
WeekSummaryListBox.ItemsSource = NoRecordsCollection;
if (SummaryCombobox.SelectedIndex == 2)
MonthSummaryListBox.ItemsSource = NoRecordsCollection;
}
}

Dans la fonction ci-dessus données sont à venir de façon dynamique. Il peut y avoir deux, trois ou plusieurs enregistrements il peut aussi y avoir aucune trace. Je suis de la liaison de cette dynamique de données pour la textblocks qui sont à l'intérieur de la zone de liste

Je suis à l'aide de la classe suivante utilisé dans le code ci-dessus

public class AmountCurrency
{
public int Amount { get; set; }
public String Currency { get; set; }
public AmountCurrency(int Amount, String Currency)
{
this.Amount = Amount;
this.Currency = Currency;
}
}

Comment dois-je mettre les deux ci-dessus textbock à l'intérieur de la zone de liste qui affiche les éléments horizonatlly ? Pouvez-vous svp me fournir un code ou un lien par lequel je peux résoudre le problème ci-dessus ? Si je fais quelque chose de mal alors s'il vous plaît me guider.

Quelle erreur avez-vous?
Si j'avais un Dollar la livre, l'euro, quel que soit) pour chaque question, j'ai vu que contient l'énoncé "j'ai une erreur" sans réellement y compris ce que l'erreur a été, je pense que je pourrait prendre sa retraite.
J'ai modifié mes questions & description de l'erreur dans laquelle je suis. Veuillez voir.
Merci pour la mise à jour de votre question, mais je ne peux toujours pas comprendre totalement ce que vous faites. Pouvez-vous s'il vous plaît poster un exemple complet (xaml & CS) pour démontrer ce que vous essayez.
J'ai mis à jour la question pour les détails vous sont nécessaires. Veuillez voir la question

OriginalL'auteur Shailesh Jaiswal | 2011-02-12