Soru ListViewItem bir ListView genişliğine uzanmayacak


Şu anda XAML kullanarak bir Windows 8 mağaza uygulaması tasarlıyorum ama küçük bir boyutlandırma sorunum var. DataTemple ile bir ListView var.

ListView & DataTemplate'imin kodu aşağıdadır:

<ListView x:Name="listPageItems"
          Grid.Row="1"
          SelectionMode="Extended"
          IsSwipeEnabled="False"
          ItemsSource="{Binding Mode=OneWay, Source={StaticResource items}}"
          ItemTemplate="{StaticResource NavigationItemTemplate}"
          ScrollViewer.VerticalScrollBarVisibility="Visible">

</ListView>

<DataTemplate x:Key="NavigationItemTemplate">    
        <Grid Height="75">
            <Grid.RowDefinitions>
                <RowDefinition Height="1.6*" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>
            <Rectangle Fill="White" />
            <Rectangle Fill="{StaticResource SSEGreenBrush}"
                       Grid.Row="1" />
            <Border BorderThickness="2"
                    BorderBrush="{StaticResource SSEGreenBrush}"
                    Grid.RowSpan="2" />
            <TextBlock x:Name="textTitle"
                       Text="{Binding ClientName}"
                       Style="{StaticResource TitleTextStyle}"
                       Foreground="{StaticResource SSEBlueBrush}"
                       Margin="10,5,5,5" />
            <StackPanel Orientation="Horizontal"
                        Grid.Row="1"
                        HorizontalAlignment="Stretch">
                <TextBlock Text="Last Edit :"
                           Style="{StaticResource SubtitleTextStyle}"
                           Foreground="{StaticResource SSEBlueBrush}"
                           Margin="3,0,0,3"
                           VerticalAlignment="Center" />
                <TextBlock Text="SurveyDate"
                           Style="{StaticResource SubtitleTextStyle}"
                           Foreground="{StaticResource SSEBlueBrush}"
                           Margin="3,0,0,3"
                           VerticalAlignment="Center" />
            </StackPanel>
        </Grid>
    </DataTemplate>

Liste görünümü sabit bir 240 genişliğindeki bir kılavuz sütunun içinde.

Görünüm görüntülendiğinde, ListViewItems ListView genişliğine uzanmaz. HorizontalContentAlignment dahil olmak üzere çok sayıda özellik ayarlamayı denedim ama ListViewItem germek için görünmüyor gibi görünmüyor!

Herhangi biri yardım edebilir mi?

Şimdiden teşekkürler.

Visual studio 2012, C # 4.5 kullanıyorum ve bir Windows mağaza uygulaması geliştiriyorum.


76
2018-02-25 12:46


Menşei




Cevaplar:


ListView tanımınıza aşağıdakileri eklemeyi deneyin.

<ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
    </Style>
</ListView.ItemContainerStyle>

189
2018-02-25 15:21



Hata: BindingExpression yolu hatası: 'Width' özelliği Project.CustomElement öğesinde bulunamadı. Project.WindowsPhone, Sürüm = 1.0.0.0, Culture = neutral, PublicKeyToken = null '. BindingExpression: Yol = 'Genişlik' DataItem = Project.CustomElement, Project.WindowsPhone, Sürüm = 1.0.0.0, Culture = neutral, PublicKeyToken = null '; hedef eleman 'Windows.UI.Xaml.Controls.Grid' (Name = 'null'); hedef özellik 'Genişlik' (tip 'Çift') - Black Cid
Bana çok yardımcı ol. Teşekkürler oyum +1 - imdadhusen
Benim için çalıştı. çok teşekkürler. +1 - arundevma
çalışmıyor.... - Radu Simionescu
Otomatik olarak Grid gibi tam genişliğe uzanmayan DataTemplate öğesinde, örneğin, HorizontalAlignment = "Stretch" seçeneğini ayarlamanız gerekir. - tipa