0

私はこのxamlコードを持っています:

                <local:MyGridView x:Name="topDeal" ItemsSource="{Binding}" Margin="60,0,0,0" Grid.Row="1">
                    <GridView.ItemTemplate> 
                        <DataTemplate>
                            <Grid Margin="0">
                                <Grid.Background>
                                    <ImageBrush ImageSource="{Binding image1}"/>
                                </Grid.Background>

                                <StackPanel VerticalAlignment="Bottom" Background="#0072B0" Opacity="0.6">
                                    <Border BorderBrush="LightGray" BorderThickness="0,0,0,1"/>
                                    <TextBlock Text="{Binding name}" Foreground="white"/>
                                </StackPanel>
                            </Grid>
                        </DataTemplate>
                    </GridView.ItemTemplate>
                    <GridView.ItemsPanel>
                        <ItemsPanelTemplate>
                            <VariableSizedWrapGrid ItemHeight="180" ItemWidth="180" Orientation="Horizontal" MaximumRowsOrColumns="4"/>
                        </ItemsPanelTemplate>
                    </GridView.ItemsPanel>
                </local:MyGridView>

およびC#コードビハインド:

public class MyGridView : GridView
{

    protected override void PrepareContainerForItemOverride(DependencyObject element, object item)
    {
        var gi = element as GridViewItem;
        //First griditem of MyGridView will be modified
        if (this.Items.IndexOf(item) == 0)
        {
            gi.SetValue(VariableSizedWrapGrid.ColumnSpanProperty, 2);
            gi.SetValue(VariableSizedWrapGrid.RowSpanProperty, 2);
        }
        base.PrepareContainerForItemOverride(gi, item);
    }
}

最初のアイテムを、背景画像を含む他のアイテムの 2 倍のサイズで表示したいと考えています。この Linkの結果。背景画像は TextBlock でのみ塗りつぶされました。

ここに画像の説明を入力

4

1 に答える 1

2

データ テンプレートでは、この方法を試すことができます。私が間違っていなければ、うまくいくはずです。

`<Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Margin="0,0,0,80"><Image Source="{Binding Image}" AutomationProperties.Name="{Binding Title}" Stretch="UniformToFill" Height="Auto" Width="Auto"/></Border>`
于 2012-10-29T07:26:15.927 に答える