Tengo un ComboBox que muestra texto de varias longitudes. Para textos que no son largos, no hay problema. Para los textos más largos que el ancho de ComboBox, me gustaría recortar el texto y agregar "..." (una elipsis) al final para mostrarlos correctamente. La conclusión es que no quiero cambiar el ancho del ComboBox. ¿Alguien sabe como hacer esto?Cómo mostrar texto demasiado largo correctamente en WPF ComboBox
Respuesta
Utilice una costumbre ItemTemplate
para su ComboBox
, que hace uso de un TextBlock
con la propiedad TextTrimming
establecido en CharacterEllipsis
.
Ejemplo:
<ComboBox ItemsSource="..." SelectedValuePath="...">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock
Text="{Binding ...}"
TextTrimming="CharacterEllipsis" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
Puede usar TextTrimmingCharacterEllipsis
o WordEllipsis
para los bloques de texto en su cuadro combinado.
La respuesta, como dijo Ross, es implementar una costumbre ItemTemplate
. Sin embargo, para que funcione correctamente, debe realizar el enlace correctamente.
Una nota sobre este método: No puede establecer tanto el DisplayMemberPath
como el ItemTemplate
, debe ser uno o el otro.
Así, para el caso general en el que el miembro de pantalla es el elemento (como una cadena), puede utilizar la unión sin propiedades para unirse a la DataContext
de la plantilla:
<ComboBox ItemsSource="..." SelectedValuePath="...">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding }" TextTrimming="CharacterEllipsis" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
O, puedes ponerlo en un estilo.
<Style TargetType="{x:Type ComboBox}">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock Text="{Binding }" TextTrimming="CharacterEllipsis" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
Para el caso en el que desea enlazar a una propiedad específica del objeto, de forma similar a como se puede utilizar la propiedad DisplayMemberPath
, reemplace la unión con la unión que se usaría para una propiedad en el objeto que eres vinculante Por lo tanto, sustituir la cuarta línea en mi primer ejemplo con algo como esto:
<TextBlock Text="{Binding MyDisplayMemberProperty}" TextTrimming="CharacterEllipsis" />
la unión es en el contexto de un único elemento del tipo ligado a su cuadro combinado. Para hacer esto más explícito, puede hacer lo siguiente:
<DataTemplate DataType="{x:Type namespace:MyItemType}">
<!-- My DataTemplate stuff here -->
</DataTemplate>
esto le dará consejos para las propiedades en el objeto mientras se está escribiendo código en el interior del DataTemplate
.
- 1. jQueryUI Autocompletar ComboBox Demasiado largo
- 2. WPF IsEditable en ComboBox - cómo eliminar autocompletar
- 3. Mostrar FontFamily en Combobox
- 4. Mostrar información sobre herramientas para un botón cuando el texto es demasiado largo
- 5. JTextField: Cómo configurar el texto a la izquierda de JTextField cuando el texto es demasiado largo
- 6. WPF: ComboBox TextSearch, ¿cómo funciona?
- 7. WPF: Cómo personalizar SelectionBoxItem en ComboBox
- 8. tipo de datos MySQL: Texto ,,, erroring: Los datos demasiado largo
- 9. ¿Por qué WPF ComboBox no refleja correctamente el valor encuadernado?
- 10. Mostrar un valor predeterminado para un WPF de datos ComboBox
- 11. Cómo usar MultiBinding en un WPF ComboBox
- 12. WPF Editable ComboBox
- 13. elemento en ComboBox WPF
- 14. WPF Combobox DisplayMemberPath
- 15. ¿Prevenir la autocompletación de texto en WPF ComboBox?
- 16. ¿Cómo puedo mostrar un combobox en Android?
- 17. cómo presentar texto largo en iOS?
- 18. ¿Puede una WPF ComboBox mostrar texto alternativo cuando su selección es nula?
- 19. WPF: ComboBox anulable
- 20. WPF Combobox vinculante
- 21. Estoy usando un WPF TextBlock pero luego el texto se corta cuando es demasiado largo. ¿Hay una función AutoScroll?
- 22. ¿Cómo establecer maxlength para combobox en WPF?
- 23. Cómo mostrar el texto en una línea en wpf textblock
- 24. WPF ComboBox SelectedItem
- 25. wpf combobox binding
- 26. ¿Cómo obtengo el valor de texto de un ComboBox en WPF?
- 27. Estilo Elementos WPF ComboBox
- 28. WPF ComboBox no actualiza fuente
- 29. Borrar texto seleccionado ComboBox
- 30. WkHtmlToPDF muestra un pequeño pdf si el texto es demasiado largo
El enlace que existe en el Combobox anteriormente no funciona en este formato – Prat
http://stackoverflow.com/questions/18825882/combobox-textwrap-binding – Prat