2011-11-27 79 views
8

Me gustaría ocultar varios cuadros de texto, una etiqueta y un botón tan pronto como se hace clic en un botón ... sin embargo, por alguna razón, mi código no parece causar este efecto. Nada parece suceder. Estoy usando WPF.Cómo ocultar cuadros de texto, etiquetas y botones C# WPF

Aquí está mi código:

private void doSomething_Click(object sender, RoutedEventArgs e) 
    { 

     Name.Visibility = Visibility.Hidden; 

    } 

no parece funcionar .. alguna idea de este código?

+0

¿qué hace tu código? ¿cualquier cosa? ¿nada? ¿Has probado Visibility.Collapsed? ¿Puedes confirmar que tu código realmente se está ejecutando? - intente establecer un punto de interrupción o punto de referencia. – ColinE

+0

@ CollinE, actualmente no hace nada. Sí, puse un punto de quiebre y lo crucé. Pasa por cada línea, pero no ocurre nada en el Formulario mismo =/He intentado .Collapsed también. El mismo problema ... – BigBug

+0

que parece que debería funcionar ... ¿Estás haciendo algo especial en tu xaml? ¿Puedes publicar el xaml? – wdavo

Respuesta

7

Su código parece funcionar bien, la etiqueta "Iniciando sesión ..." aparece cuando todo lo demás desaparece. Le sugiero que simplemente copie todo su código del archivo .xaml.cs y el archivo .xaml en un nuevo proyecto, pero asegúrese de no copiar la primera línea "<Window x:Class="..." porque podría generar un error si el nombre de la clase no es Lo mismo en el nuevo proyecto.

Para el código xaml, le sugiero que no piense lo mismo que diseña las aplicaciones de formularios de Windows. WPF tiene el sistema de disposición, que reorienta o reajusta el tamaño de sus elementos al redimensionar la ventana. Por lo tanto, no debe especificar números exactos en la propiedad de margen como si fueran coordenadas. Cree una grilla, cree filas o columnas para cada elemento y luego simplemente configure la alineación o los márgenes horizontales o verticales. Piensa diferente a las formas de las ventanas antiguas.

+0

gracias, lo haré. Me alegro de que funcione ... triste que tengo que volver a hacerla de nuevo ... =/ – BigBug

+0

:(no parece querer trabajar para mí ... incluso después de crear un nuevo proyecto. – BigBug

7

Creo que Visibility.Collapsed es lo que necesita y no Visibility.Hidden.

EDITAR: ¿Intentó seguir este código con el método UpdateLayout() del elemento/componente principal?

4

He ejecutado su código ... y está funcionando muy bien para mí. No he cambiado nada (excepto los nombres de las variables), así que supongo que es un error de VS.

Como dije nikolamm94 intente agregar this.UpdateLayout(); al final de connect_Click podría ayudar. Lo intenté y todavía funciona bien. O tal vez crear un nuevo proyecto VS, ya funcionó algunas veces.

Lo siento mi respuesta no es la más útil, yo quería poner un comentario en su lugar, pero no tengo la reputación suficiente:/

+0

Gracias, intentaré esto ... :(apesta que tengo que rehacerlo. Pero me alegro de que funcione ... espero que se vea bien cuando lo ejecute :) – BigBug

0

Puede ocultar un cuadro de texto al ir a Propiedades-> apariencia-> visibilidad, a continuación, estableciéndolo en "oculta"

Cuestiones relacionadas