2012-08-03 10 views

cevap

4
bu soruya en

Görünüş: Disable cross-slide selection for a listview

Ayrıca herhangi bir görsel durumlarını ve süslemeleri kaldırmak için şablonda değişiklik yapabilir - tasarımcıya gidip sağ ListView/Düzenleme Ek Şablonları tıklayın/Oluşturulan Öğe Konteynerini Düzenle (ItemContainerStyle)/Bir Kopyayı Düzenle ... - tercih ettiğiniz yöntemi kullanarak değiştirebileceğiniz şablonu çıkartacaktır.

+0

Ne yazık ki artık Blend tarafından oluşturulan genişletilmiş stili (yalnızca üretir ben etkisini devre dışı bırakmak için buldum basit yolu sadece bu ControlTemplate geçersiz kılmak için varsayılan), ancak msdn http://msdn.microsoft.com/en-us/library/windows/apps/xaml/jj709921.aspx adresinden edinilebilir. – mydogisbox

+0

Evet, mevcut "ListViewItem" şablonunun çok basit olduğunu düşünüyorum - aslında performansı geliştirmek için bir platform/renderer düzeyinde oluşturulduğundan ve özelleştirmeyi istiyorsanız, aslında şablonu karmaşıklaştırdığından şüpheleniyorum. –

+0

Evet, ne yazık ki, ScrollIntoView hala devam ederken tüm madde tıklama animasyonları devre dışı bırakmanın daha iyi bir yolu anladım. – mydogisbox

3

Bazı ziyaretlerden sonra, vurgulamanın oldukça gizli olduğu ortaya çıkan ListViewItemPresenter'da gerçekleştiğini fark ettim. ListView için ItemContainer olan ListViewItem'in ControlTemplate'inde bulunur.

<ListView> 
<ListView.ItemContainerStyle> 
    <Style TargetType="ListViewItem"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate> 
        <ContentPresenter/> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</ListView.ItemContainerStyle> 
<TextBlock Text="List Item" /> 
... 
<TextBlock Text="List Item" /> 

kaynak: http://jonstodle.com/soap-box/uwp-listview-without-highlighting-and-stuff/

+0

ama lütfen bunun kontrolün erişilebilirliğini bozacağını unutmayın. –

İlgili konular