¿Cómo puedo establecer el número de caracteres que un usuario puede ingresar en un TextBlock en xaml?Establezca la longitud chr máxima de un TextBlock en XAML
¿Lo haría en el modelo o crearía algún tipo de atributo personalizado para manejarlo?
¿Cómo puedo establecer el número de caracteres que un usuario puede ingresar en un TextBlock en xaml?Establezca la longitud chr máxima de un TextBlock en XAML
¿Lo haría en el modelo o crearía algún tipo de atributo personalizado para manejarlo?
TextBlock no tiene un MaxLength, tampoco Label. TextBox lo hace. Los usuarios no pueden ingresar en un TextBlock a menos que lo hayas modificado.
¿Es realmente un TextBlock que desea limitar o quiso decir un TextBox? Si se trata de un TextBox, simplemente puede usar la propiedad MaxLength.
<TextBox Name="textBox1" MaxLength="5" />
Si realmente es un TextBlock está utilizando y de alguna manera lo que permite al usuario introducir datos en ella, y luego cambiar a utilizar un cuadro de texto. Si es el estilo de TextBlock que buscas, puedes diseñar el TextBox para que parezca un TextBlock.
Sin crear un control personalizado, tiene algunas opciones.
Puede intentar ajustar el tamaño del TextBlock
para que se ajuste exactamente a su texto esperado, pero eso se pone feo rápidamente al tratar de explicar la entrada variable o los diferentes tamaños de fuente.
En su lugar, puede verificar la longitud del carácter de la cadena que se asignará a la propiedad TextBlock.Text
y limitarla si es necesario.
string s = "new text";
if (s.Length > maxLen)
textBlock1.Text = s.Substring(0, maxLen);
else
textBlock1.Text = s;
Otra opción es utilizar los TextWrapping
y TextTrimming
propiedades. Los siguientes atributos se pueden agregar a su TextBlock
xaml para agregar el ajuste de línea y "..." para indicar que el texto existe más allá del tamaño TextBlock
.
<TextBlock ... TextWrapping="Wrap" TextTrimming="CharacterEllipsis" />
Puede usar la propiedad 'TextTrimming' de un Textblock. Establecer TextTrimming = "CharacterEllipsis". Es posible que necesite jugar con Ancho para administrar la cantidad de caracteres que realmente desea mostrar.
<TextBlock TextTrimming="CharacterEllipsis" Text="{Binding Subject}"/>
alguno de los conjuntos MaxHeight = "SomeHeight" y recortar el desbordamiento con
<TextBlock TextTrimming="CharacterEllipsis" Text="{Binding LongText}"
o uso TextBox como Textblock estableciendo
<TextBox IsReadOnly="True" Background="Transparent" BorderThickness="0"
MaxLength="100"
MaxLength no está funcionando. el usuario puede escribir más caracteres que 5. – user1624552
¿Está seguro de que tiene un TextBox con estilo y no un TextBlock? – Rhyous