SORU
18 ŞUBAT 2009, ÇARŞAMBA


Nasıl otomatik boyutlandır ve sağa Hizala WPF veri GridViewColumn?

Nasıl yapabilirim:

  • sağa Hizala KİMLİĞİ sütun metin
  • en uzun görünür verilerle hücrenin metin uzunluğu göre sütunları otomatik boyutu her yapmak?

İşte kod:

<ListView Name="lstCustomers" ItemsSource="{Binding Path=Collection}">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="ID" DisplayMemberBinding="{Binding Id}" Width="40"/>
            <GridViewColumn Header="First Name" DisplayMemberBinding="{Binding FirstName}" Width="100" />
            <GridViewColumn Header="Last Name" DisplayMemberBinding="{Binding LastName}"/>
        </GridView>
    </ListView.View>
</ListView>

kısmi yanıt:

Teşekkürler Kjetil, GridViewColumn.CellTemplate iyi çalışıyor ve Genişliği Otomatik olarak çalışır elbette ama ne zaman ObservativeCollection "Toplama" Çin ile daha fazla sütun genişliği veri, sütun boyutlarını güncelleme yok kendilerini böylece tek bir çözümü için ilk ekran veri:

<ListView Name="lstCustomers" ItemsSource="{Binding Path=Collection}">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="ID" Width="Auto">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Id}" TextAlignment="Right" Width="40"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn Header="First Name" DisplayMemberBinding="{Binding FirstName}" Width="Auto" />
            <GridViewColumn Header="Last Name" DisplayMemberBinding="{Binding LastName}" Width="Auto"/>
        </GridView>
    </ListView.View>
</ListView>

CEVAP
18 ŞUBAT 2009, ÇARŞAMBA


Her sütun Genişliği="" GridViewColumn. Otomatik olarak ayarlayabilirsiniz otomatik boyutlandırma yapmak

Sağa Hizala KİMLİĞİ sütun metin için bir hücre şablonu bir Dize kullanarak oluşturabilirsiniz ve TextAlignment ayarlayın. Sonra Listviewıtem ayarlayın.HorizontalContentAlignment (Listviewıtem bir kanepe ile bir stil kullanarak) hücre şablonu tüm GridViewCell dolgu yapmak için.

Belki daha basit bir çözümü var, ama bu çalışması gerekir.

Not:çözüm de gerektirirHorizontalContentAlignment=GermekPencerede.Kaynaklar ve=Sağ TextAlignmentbu CellTemplate.

<Window x:Class="WpfApplication6.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Window.Resources>
    <Style TargetType="ListViewItem">
        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
    </Style>
</Window.Resources>
<Grid>
    <ListView Name="lstCustomers" ItemsSource="{Binding Path=Collection}">
        <ListView.View>
            <GridView>
                <GridViewColumn Header="ID" Width="40">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Id}" TextAlignment="Right" />
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
                <GridViewColumn Header="First Name" DisplayMemberBinding="{Binding FirstName}" Width="Auto" />
                <GridViewColumn Header="Last Name" DisplayMemberBinding="{Binding LastName}" Width="Auto"/>
            </GridView>
        </ListView.View>
    </ListView>
</Grid>
</Window>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dom Esposito

    Dom Esposito

    26 Mayıs 2011
  • EmperorTigerstar

    EmperorTiger

    14 EYLÜL 2009
  • We've moved!

    We've moved!

    7 Ocak 2008