Necesito que salga algo de contenido del ListBox
como se especifica en un DataTemplate
para un ListBox.ItemTemplate
. Estoy usando RenderTransform
pero el contenido se recorta en ListBox
boundaries. ClipToBounds
es False
para todo el árbol visual.recorte de WPF incluso cuando no se desea ningún recorte, ¿cómo desactivarlo?
He leído en algún lugar que WPF realiza internamente algunos clipping incluso cuando no se especifica ninguno con propiedades de recorte dedicadas. También descubrí que usar Canvas
a veces puede curar el problema de recorte, pero no ayuda aquí.
¿Cómo puedo solucionar este problema? Aquí hay algunos XAML que quiero arreglar. Tenga en cuenta que falta toda la parte izquierda del rectángulo.
<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<Rectangle Fill="Red" Stroke="Green" StrokeThickness="4" Width="100" Height="50">
<Rectangle.RenderTransform>
<TranslateTransform X="-50" />
</Rectangle.RenderTransform>
</Rectangle>
</DataTemplate>
</ListBox.ItemTemplate>
42
</ListBox>
Usted parece ser el clavo! Pero necesito ese 'ScrollViewer' en su lugar original. ¿Sabes lo que es tan especial en la implementación interna de 'ScrollVeiwer' que me duele? ¿Es esto algo que puede ser anulado en una clase derivada? He leído en alguna parte que 'GetLayoutClip' es el culpable, pero no puedo hacer que funcione a mi manera. – wpfwannabe
@wpfwannabe: Actualicé mi respuesta. Tienes razón en que 'GetLayoutClip' es el problema. Desafortunadamente, esta vez está en una clase Sellada ('ScrollContentPresenter') por lo que no puede derivarse de ella. Por lo que sé, tomaría mucho trabajo para que esto funcione –
¡Su respuesta es excelente! ¡Gran ayuda! ¡Muchas gracias! Mientras tanto, he reorganizado mi diseño de forma diferente con una especie de 'ListBoxItem' dividido que me permite mostrar el contenido flotante dentro de 'ListBox' y, por lo tanto, ya no necesito toda esta malarkey' ScrollViewer'. La mayoría de las veces uno puede encontrar una solución diferente al mismo problema.Esta vez he tenido que cambiar bastante mis plantillas para hacer que las cosas funcionen como esperaba, pero parece ser mucho más fácil que tener que lidiar con la creación de mi propio 'ScrollViewer'. ¡Gracias de nuevo! – wpfwannabe