2

//これはユーザーコントロールコードです

<ListBox  Name="OvernightAverageListBox"  ItemsSource="{Binding Path=OvernightAverageCollections}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  >
 <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Name="items" Background="{Binding BackColor}" Height="200" Width="200">
                <TextBlock  Height="46" HorizontalAlignment="Left" Margin="26,10,0,0" Name="currentRate" Text="{Binding  Current_rate}" VerticalAlignment="Top" FontSize="36" />
                <TextBlock Height="22" HorizontalAlignment="Left" Margin="26,20,0,0" Name="rate_difference" Text="{Binding RateChange_Value}" VerticalAlignment="Top" FontSize="20" />
                <TextBlock Height="30" HorizontalAlignment="Left" Margin="26,30,0,0" Name="productName" Text="{Binding Product_name}" VerticalAlignment="Top" FontSize="24" />
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>

//これは表示中のバインディングコードです

<controls:PanoramaItem Header="Overnight Average" Tap="RateTile_Tap">
            <Grid x:Name="overnightAverage">
             <views:OvernightAverageTileControl x:Name="eventsView">       </views:OvernightAverageTileControl>
            </Grid>
        </controls:PanoramaItem>
</ListBox>

私のコードによると、タイルが垂直に来るということは、各タイルが1列になっていることを意味します。しかし、私はそれらが水平方向と垂直方向の両方に来ることを望んでいます。つまり、各行に2つのタイルがあります。plz shareursuggetion私はxamlデザインに不慣れです。

最初の画像は、私が取得しているワットを示しています。

2番目の画像は私が欲しいワットです。

ありがとう :)

これは来ているワットです。

でもこういうのが欲しい

4

2 に答える 2

1

DataTemplateのStackPanelをグリッドに置き換えることができます。

<DataTemplate>
    <Grid Name="items" Background="{Binding BackColor}" Height="200" Width="200">
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <TextBlock Grid.Column="0" Grid.Row="0" Text="{Binding Current_rate}" ... />
        <TextBlock Grid.Column="1" Grid.Row="0" Text="{Binding RateChange_Value}" ... />
        <TextBlock Grid.Column="0" Grid.Row="1" Text="{Binding Product_name}" ... />
    </Grid>
</DataTemplate>

ColumnDefinition.WidthプロパティとRowDefinition.Heightプロパティを設定して、列の絶対幅または相対幅と行の高さを指定することもできます。

于 2012-12-15T12:04:26.110 に答える
0

2011年10月のツールキットでWrapPanelを使用して正常に実行しました 。http: //www.windowsphonegeek.com/upload/articles/WrapPanelDemo.zip

于 2012-12-18T13:35:52.970 に答える