2012-08-03 9 views

Respuesta

4

mirada a esta pregunta: Disable cross-slide selection for a listview

También puede realizar cambios en la plantilla de quitar cualquier estados visuales y adornos - ir al diseñador y haga clic derecho en sus ListView/Editar plantillas adicionales/Edite contenedor de elementos generados (ItemContainerStyle)/Edit a Copy ... - que extraerá la plantilla que puede modificar utilizando su método preferido.

+0

Por desgracia, el estilo extendido ya no se genera por Blend (sólo se genera la predeterminado), pero está disponible en msdn http://msdn.microsoft.com/en-us/library/windows/apps/xaml/jj709921.aspx. – mydogisbox

+0

Sí, creo que la plantilla actual de 'ListViewItem' está muy simplificada. Sospecho que en realidad se procesa a nivel de plataforma/procesador para mejorar el rendimiento y, por lo tanto, si desea personalizarla, en realidad está complicando la plantilla. –

+0

Sí, lamentablemente, no he descubierto una forma mejor de deshabilitar todas las animaciones de clics del elemento sin perder ScrollIntoView. – mydogisbox

3

Después de buscar en Google encontré que el resaltado ocurre en el ListViewItemPresenter, que resulta bastante escondido. Está ubicado dentro de ControlTemplate de ListViewItem, que es el ItemContainer para ListView. La forma más sencilla que he encontrado para desactivar el efecto es simplemente reemplazar este ControlTemplate:

<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" /> 

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

+0

, pero tenga en cuenta que esto romperá la accesibilidad del control. –

Cuestiones relacionadas