‫Bienvenido de nuevo.
‫Y en este video del que vamos a hablar, notifico cambio de propiedad, así que sobre esta interfaz, que nos
‫permite activar algo si se cambió una propiedad y hemos visto cambios de propiedad en el último video
‫cuando estábamos usando la vinculación.
‫Y lo haremos de forma ligeramente diferente esta vez.
‫Y verá cómo utilizar esta interfaz usted mismo.
‫Entonces, en lugar de una cuadrícula, quiero usar un panel de palo porque quiero apilar cosas y las voy a
‫apilar.
‫En primer lugar, una etiqueta en la que voy a poner el contenido en una
‫y voy a cerrar esta etiqueta así.
‫Y debajo de eso, quiero tener un cuadro de texto donde podamos ingresar un valor.
‫Entonces no voy a usar un bloque de texto, un cuadro de texto aquí.
‫Lo voy a cerrar de inmediato.
‫Eso y en el cuadro de texto, quiero tener el ancho de 100 píxeles, una altura de, digamos, 30 píxeles, y luego
‫quiero establecer el texto.
‫Ahora, el texto debería estar encuadernado.
‫Entonces voy a usar la minería de datos aquí.
‫Y el camino que quiero usar será el número uno y el modo será bidireccional.
‫Así que hemos visto lo que significa este modo y lo que significa este camino.
‫Así que ahora copiemos este código y duplíquelo aquí.
‫Así que voy a copiarlo y pegarlo dos veces.
‫Entonces esto va a ser insensible a lo mismo aquí y esto será un resultado.
‫Así que este será el resultado y este será el número tres.
‫Así que ahora te preguntarás qué es este número uno, dos y resultado porque.
‫Bueno, tenemos el número uno y el número dos y así sucesivamente.
‫Pero estos son solo contenidos.
‫No son nombres.
‫Entonces, para conectarnos a ellos o usarlos, tenemos que ir a nuestro código porque quiero crearlos
‫aquí.
‫Así que voy a crear una nueva clase, de hecho, porque vamos a usar la ventana principal como nuestro programa.
‫Muy similar a nuestro programa.
‫Pero quiero usar Notificar cambio.
‫Y para usar esta interfaz, necesito crear una nueva clase que pueda heredar de ella.
‫Así que voy a usar una nueva clase aquí y la voy a llamar así, porque lo que quiero hacer es que si volvemos al
‫archivo XML, tenemos este número uno, número dos y tres.
‫Y lo que quiero es que si agrego un valor aquí y un valor allá, entonces el valor aquí en la parte
‫inferior debería ser automáticamente la suma de los dos anteriores.
‫Está bien.
‫Entonces voy a usar una nueva clase para eso.
‫Y esta clase debería heredar de Notifico cambio de propiedad.
‫Y para querer usar esto, notifiqué que la propiedad cambió.
‫Necesitamos usar el sistema, ese modelo de componente.
‫Así que voy a usar el modelo de tercer componente del sistema.
‫Así que ahora puede ver que nuestra interfaz es verde, lo que generalmente funciona bien como el verde, que es el
‫color de la interfaz en Visual Studio.
‫Y ahora puedo corregir esos posibles errores.
‫Como ves, necesito implementar la interfaz.
‫Así que voy a hacer eso.
‫Y como puede ver, tenemos este evento público, la propiedad cambió, la propiedad del controlador de eventos cambió.
‫Y ahora, para poder usar eso, necesitaremos crear un método privado llamado void en la propiedad cambiada, que va a tomar
‫una propiedad.
‫Y en mi caso, esta propiedad será una cadena.
‫Y quiero comprobar primero.
‫Si la propiedad cambió, la propiedad cambiada no está vacía.
‫Entonces no es igual ahora, porque si ese es el caso, entonces quiero seguir adelante y llamar a la propiedad
‫cambiada.
‫Esta nueva propiedad cambió los arcos de eventos, que voy a ceder a las propiedades, por lo que la propiedad cambió los arcos de
‫eventos, como puede ver, necesita un nombre de propiedad fuerte.
‫Y el nombre de la propiedad que quiero ceder es la propiedad en sí.
‫Entonces, en el cambio de propiedad, eso llamará a esta propiedad y voy a entrar a una fiesta aquí.
‫Muy bien, entonces simplemente llamaremos evento de cambio de propiedad, y ahora para usar todos
‫esos, necesitamos tener varias propiedades.
‫Y empezaré creando campos privados primero.
‫Entonces una cadena privada, No.
‫Uno, luego una cadena privada, nombre dos y finalmente una cadena privada llamada resultado.
‫Y ahora creo propiedades para todos esos.
‫Así que voy a crear una propiedad llamada Namwon.
‫Y esta propiedad debería ser ligeramente diferente a la estándar.
‫Así que no voy a utilizar este método básico de obtención y configuración.
‫Voy a usar un autodefinido, así que voy a definir uno yo mismo.
‫Y no debería devolver Namwon, pero debería volver aunque no sea el que tiene el capital, no la propiedad,
‫pero en realidad este campo aquí.
‫Así que volverá Namwon.
‫Así que regresa el número uno.
‫Y si dije algo, entonces quiero establecer el valor.
‫Por cierto, uso una cadena aquí en la parte superior, por lo que mi propiedad también debería ser cadenas.
‫Así que voy a devolver Namwon.
‫Y ahora, si alguien intenta establecer el número uno, quiero intentar analizarlo, porque ¿qué pasa si no es un número que el
‫usuario ha ingresado?
‫¿Y si entraba, no sé, cartas o algo así?
‫Entonces quiero captar eso y cambiarlo.
‫Así que lo usaré como número y crearé un nuevo libro aquí.
‫Y voy a llamar resultado que va a ser en tripartismo y voy a intentar pasar el valor y voy
‫a sacar el número.
‫Así que hemos visto a Tripa antes.
‫Lo que simplemente hace es intentar pasar el valor dado a un número entero.
‫Y si funcionó, será verdad.
‫Y si no funcionó, entonces será falso.
‫Y, por cierto, si funcionó, también obtendremos el número.
‫Entonces, si puedo o si obtengo un valor positivo ahora, solo diré que nadie va a ser el valor.
‫Y también lo que quiero cambiar o el disparador es tener la propiedad cambiada y voy a disparar el número
‫uno.
‫Está bien.
‫Así que voy a cambiar esta propiedad número uno si los valores cambiaron.
‫Ahora, lo que también podemos hacer es copiar eso para nuestro segundo número.
‫Así que el número dos, y lo voy a cambiar al número dos, también va a ser un número y va
‫a ser el número dos y allí también.
‫Y ahora, finalmente, necesitamos una propiedad para nuestro resultado.
‫Así que voy a crear ese resultado de cadena pública.
‫Y este también va a tener un get y un set.
‫Así que aquí van a tener y el resultado va a estar en ese pase No.
‫Uno.
‫Más int.
‫Para pasárselos y ¿por qué puedo hacer eso ahora?
‫Bueno, porque los estoy devolviendo a y cada vez que configuro Namwon y yo también, así que una vez aquí ya son enteros
‫porque solo están configurados, solo tienen un valor si son un número, está bien, así que de lo contrario
‫nunca se establecerán, estarán vacíos.
‫Y luego lo que tenemos que hacer es devolver algo aquí.
‫Así que voy a volver restaurado a la cuerda.
‫Entonces el resultado.
‫Ahora, si alguien intenta establecer el resultado, simplemente haré lo siguiente.
‫Entonces, establecer el resultado final será y pasará en realidad lo mismo que hicimos aquí, solo que no lo devolvemos,
‫pero lo configuramos para que resuelva que habrá reposo en la cadena.
‫Y ahora aquí, llamamos a la propiedad, cambiamos nuestros resultados, y lo mismo ocurre con nuestro número y
‫adormecemos uno.
‫Entonces, en la propiedad cambiada, como puede recordar, cambia el valor de la propiedad.
‫Entonces, la propiedad cambió los ARG del evento, y tomará la propiedad y llamará
‫a esta propiedad cambiada evento y luego a todas esas propiedades.
‫Entonces, la propiedad número uno, la propiedad número dos y el resultado uno serán notificados y nuestro resultado
‫debe cambiarse.
‫Entonces, lo que quiero tener es que cada vez que alguien ingrese un número, este número tres también
‫se cambiará.
‫Y antes de que podamos comprobar eso o probar eso, necesitamos ir a nuestro archivo dot dot y realmente crear un
‫objeto de o alguna clase.
‫Así que hemos creado la misma clase y voy a seguir adelante y crear un nuevo objeto.
‫Lo voy a crear aquí, que no solo será un objeto, también será una propiedad.
‫Entonces algún objeto lo obtendrá y lo establecerá.
‫Ahora, para poder acceder a eso, también necesitamos hacer algo público.
‫Así que hagamos pública esta clase y ahora podemos seguir adelante y usarla para algún objeto.
‫Ahora, puedo establecer este objeto, algún objeto aquí al principio, y voy a decir que es una nueva suma
‫con el valor de que ninguno sea uno.
‫Y el número dos, solo tiene un valor de, digamos, tres.
‫Y como puede ver, tenemos dos cadenas aquí porque de lo contrario no funcionará porque esas propiedades
‫son cadenas.
‫Derecha.
‫Entonces, ahora lo que necesito llamar es o lo que necesito establecer es el contexto de datos para nuestro objeto, porque de lo contrario
‫no sucederá nada.
‫Así que ahora ejecutemos esto.
‫Y luego verá, nunca dijimos el número tres, que es el resultado.
‫Y tal vez sea incluso mejor si realmente lo llamamos resultados.
‫Así que vayamos aquí y cambiemos la etiqueta al resultado o tal vez incluso a algo.
‫Así que esta será la suma, tal vez incluso algo así como el número uno y el número dos.
‫Bien, ahora vamos a ejecutarlo de nuevo.
‫Y tú eres uno más tres son cuatro, así que ahora vamos a cambiarlo a, digamos, 25 y como ves, cambió.
‫Así que ahora que cambió el valor de tres a 31, verá 56.
‫Ahora, si cambio ese valor aquí.
‫Verá, está volviendo a su valor normal, porque lo que hicimos aquí en el Setter, si alguien intenta establecer el
‫resultado, simplemente establecemos el resultado en, nuevamente, el valor de y pasado el número uno y el número
‫dos.
‫Por lo tanto, siempre volverá al resultado real si alguna vez intentamos establecer el resultado de nuestro resultado de
‫cadena.
‫Bien, ahora puedes jugar con esto y puedes calcular lo que quieras y tendrás respuestas
‫en tiempo real, más tiempo real.
‫Bueno, sumas de tus dos valores.
‫Puede continuar y agregar otro o ahora puede continuar y cambiarlo para que sea un multiplicador.
‫Pero ahora sé que teníamos que arreglarnos mucho.
‫Por eso quiero repasarlo una vez más rápido contigo.
‫Entonces, en el archivo Zemo, teníamos esas tres etiquetas y esos tres cuadros de texto, que son solo los elementos de la interfaz de usuario.
‫Derecha.
‫Y el texto de cada uno de ellos está conectado.
‫Entonces este tiene el camino al número uno.
‫Este es el camino hacia los dos.
‫Y este tiene el camino, el resultado.
‫Y esos son los que están aquí.
‫Entonces, las propiedades número uno, número dos y número tres, creamos una clase adicional, que hereda del widget
‫notifiqué cambio de propiedad, que es una interfaz que tiene esta propiedad cambiada controlador de eventos,
‫que es un evento y que se llama propiedad cambió.
‫Ahora creamos un método llamado On Property Changed, que se llama cada vez que se cambia una de
‫nuestras propiedades.
‫Y eso se hace una vez que se establece una propiedad.
‫Entonces tenemos esta propiedad, número uno.
‫Y si alguien está tratando de establecer ese valor de Namwon, simplemente lo llamaremos en propiedad
‫cambiada.
‫Y aquí establecemos la propiedad.
‫Entonces decimos, OK, dame una propiedad y cambiamos esa propiedad al valor que se le dio.
‫Así que básicamente lo configuramos, pero al mismo tiempo, no solo configuramos el que estamos configurando actualmente
‫en términos de en el centro.
‫Así que no solo configuramos a nadie aquí, sino que también configuramos el resultado y no configuramos el y aquí puede ver
‫esta línea aquí.
‫Establece este campo para que cambie este campo de cadena privada y este cambio de propiedad en realidad cambia la
‫propiedad en sí.
‫Entonces va a cambiar el valor de la propiedad en sí.
‫Pero al mismo tiempo, cambiará el valor del resultado de la propiedad.
‫Así que actualizará nuestro resultado cada vez que cambiemos el valor de uno.
‫Y lo mismo ocurre con ellos también.
‫Y lo mismo ocurre con nuestro resultado, donde dije que cada vez que se cambia el resultado, queremos seguir
‫adelante y llamar a esto en la propiedad.
‫También se cambió el método.
‫Bien, ahora ve cómo puede usar la propiedad I-95 modificada, cómo puede usar esta interfaz y puede usarla de múltiples
‫formas diferentes, y es realmente interesante usarla cada vez que se cambia alguna propiedad.
‫Entonces, digamos que el color ha cambiado y desea activar un evento que hará algunas
‫animaciones elegantes o alguien presiona un botón que cambiará y una propiedad en algún lugar de su programa.
‫Y si quieres que suceda algo grandioso después, puedes configurar todo esto con esto.
‫Notifiqué que la propiedad cambió la interfaz con usted, por supuesto, lo que debe hacer es crear una correlación de herencia aquí entre
‫la clase que está utilizando.
‫Y notifico cambio de propiedad.