0

私のxamlパーにリストボックスコントロールが1つあります。リストボックスのコードは

<ScrollViewer Grid.Row="2" Name="ScrollGrid" VerticalScrollBarVisibility="Auto" VerticalAlignment="Top" Height="Auto" Width="450" Margin="0,100,0,0" >
    <ListBox x:Name="TransactionList" Grid.Row="2" HorizontalAlignment="Center" Margin="0,0,0,0"  Width="400" Height="Auto">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal" VerticalAlignment="Top" Margin="0,-10,0,0" Height="120" Width="400" MouseLeftButtonUp="StackPanel_MouseLeftButtonUp">

                    <StackPanel Orientation="Horizontal" VerticalAlignment="Top"  Height="80" Width="300" Margin="0,0,20,0">
                        <TextBlock Height="Auto" Margin="20,0,0,0" VerticalAlignment="Center" Text="vodafone vas" FontSize="30" Foreground="Gray" Name="tbCitynameFavorite"  />
                    </StackPanel>
                    <StackPanel Orientation="Vertical"  Height="60" Width="60" Margin="0,0,0,30">
                        <Image Name="imgfevdlt" Width="50" Height="40"  VerticalAlignment="Center" FlowDirection="LeftToRight" Source="/VodafoneAugmentedReality;component/Images/ArrowMoreSmall.png" />

                    </StackPanel>
            <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"  Height="10" Width="350" Margin="-360,60,0,0">
                <Image Source="/VodafoneAugmentedReality;component/Images/SaperaterLine.png" Width="350" />
            </StackPanel>
        </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
</ScrollViewer> 

アプリケーションを実行すると、データが表示されません

しかし、この2つのタグをコメントアウトすると、完全に実行されます

 <ListBox.ItemTemplate>
                    <DataTemplate>

ここでは静的な値しか持っていないので問題ありませんが、複数の値があると問題が発生します。この問題を解決できるように助けてください。

4

1 に答える 1

0

DataTemplate メンバー値のすべてのプロパティを含むクラス ( ListBoxItem など) を設定する必要があります。

そして、 ListBoxItem の List を定義し、それを ListBox の ItemSource として設定します

サンプルコード

public class ListBoxItem
{
   public string CityNameFavorite { set; get; }
   // Other required properties follows here
}

List<ListBoxItem> listBoxItems = new List<ListBoxItem>();
listBoxItems.Add(new ListBoxItem() { CityNameFavorite = "Vodafone vas" });
//Add as many items you need


TransactionList.ItemsSource = listBoxItems;

これは、それを実現する方法の概要にすぎません。必要に応じて即興で作成してください。

于 2012-10-30T12:51:37.310 に答える