SORU
26 HAZİRAN 2009, Cuma


WPF seçim Liste Görünümü kapat

Basit bir WPF Liste Görünümü ve basit bir sorum var:

Kullanıcı tıklattığında satır, satır vurgulanır. bu yüzden seçimi kapatmak mümkün mü?

ListView

Tıklandığında satır 0 gibi bakmak için 1 satır istiyorum.

Muhtemelen ilgili: hover / seçim? bak tarzı miyim Örn. mavi degrade hover (3 hat) özel düz renk ile değiştirmek için. this this, ne yazık ki yardımcı buldum.

(Liste Görünümü kullanmadan aynı elde edilebilir. Sadece mantıksal kaydırma ve liste Görünümü gibi sanallaştırma UI) kullanmak mümkün olmak istiyorum

Yardımlarınız için çok teşekkür ederim.

Liste Görünümü için XAML

<ListView Height="280" Name="listView">
    <ListView.Resources>
        <!-- attempt to override selection color -->
        <SolidColorBrush x:Key="{x:Static SystemColors.HighlightColorKey}"
                         Color="Green" />
    </ListView.Resources>
    <ListView.View>
        <GridView>
            <GridView.Columns>
                <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}" />
                <!-- more columns -->
            </GridView.Columns>
        </GridView>
     </ListView.View>
</ListView>

CEVAP
26 HAZİRAN 2009, Cuma


Martin Konicek yorum başına, tamamen basit bir şekilde öğelerin seçimi devre dışı bırakmak için:

<ListView>
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Setter Property="Focusable" Value="false"/>
        </Style>
    </ListView.ItemContainerStyle>
    ...
</ListView>

Ancak yine de Liste Görünümü, bir öğeyi seçmek için güçlü olmak gibi işlevleri gerektiriyorsa, o zaman görsel olarak Seçili öğeyi tasarımı gibi bir çok devre dışı bırakabilirsiniz

Bu şekilde bir dizi, sadece bir stil (çok daha kolay) ayarı için Listviewıtem ControlTemplate değişen yapabilirsiniz. Bu ListViewİtems ItemContainerStyle kullanma ve 'seçildiğinde' arka plan ve kenarlık fırça. kapatmak için bir stil oluşturabilirsiniz

<ListView>
    <ListView.ItemContainerStyle>
        <Style TargetType="{x:Type ListViewItem}">
            <Style.Triggers>
                <Trigger Property="IsSelected"
                         Value="True">
                    <Setter Property="Background"
                            Value="{x:Null}" />
                    <Setter Property="BorderBrush"
                            Value="{x:Null}" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </ListView.ItemContainerStyle>
    ...
</ListView>

Öğe seçildiğinde kullanıcı bildiren başka bir yol yoksa da, (ya da sadece test için) sütun değerini göstermek için ekleyebilirsiniz:

<GridViewColumn Header="IsSelected"
                DisplayMemberBinding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListViewItem}}, Path=IsSelected}" />

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Carlos Delgado

    Carlos Delga

    21 HAZİRAN 2011
  • ghosti66

    ghosti66

    27 AĞUSTOS 2006
  • Warner Bros. UK

    Warner Bros.

    6 HAZİRAN 2008