of 34
7/31/2019 Tema 1- Concpetos bsicos
1/34
Tema1.IntroduccinaWPFMic rosoft ITAcademy
Tema 1
MCTS: Windows
Presentation
Foundation.
WPF
7/31/2019 Tema 1- Concpetos bsicos
2/34
Pgina 2 de 34
WWWIIINNNDDDOOOWWWSSSPPPRRREEESSSEEENNNTTTAAATTTIIIOOONNNFFFOOOUUUNNNDDDAAATTTIIIOOONNN
En este curso usted ver como crear sus primeras aplicaciones usando Windows
Presentation Foundation (WPF). Le ensearemos a utilizar los nuevos recursos de
presentacin de esta nueva plataforma de Microsoft con los que podr elevar a
niveles excitantes la calidad y funcionalidad de las interfaces de usuario de sus
ap lic ac iones. Lo introd ucirem os en la nueva filosofa de programa c in de c larativa c on
el leng ua je XAML que a yuda a sep ara r la interfaz de p resenta c in d el c d igo .NET en
el que programe la lgica del negocio de su aplicacin. Con WPF ver facilitados y
enrique c ido s c onoc ido s c onc ep tos c om o c ontroles, eventos, enlac e a da tos, as c om o
podr incorporar nuevos elementos como transformaciones, plantillas, estilos,
animac iones, med ia, 3D, doc umentos.
El curso est dividido en 5 captulos, y cada captulo en lecciones. Los captulos y
lecciones vienen acompaados de los proyectos con el cdigo de los ejemplos, as
como de videos ilustrativos que reforzarn el contenido de los temas tratados y lo
ayud arn a experime ntar por su c uenta.
Le recomendamos tambin que vea la aplicacin integral Visor de Cursos MSDN que
hemos desarrollado ntegramente con WPF y de la cual usted puede descargar
completamente el cdigo fuente. Con esta aplicacin usted puede visualizar e
inte rac tua r c on el curso.
LLLooosss aaannn ttteeeccceeedddeeennn ttteeesss
Cua ndo en 1985 la prime ra ve rsin d e Window s sa li a l me rc ado, y an d urante a lgn
tiemp o d espus, los p rog rama dores po r lo g enera l esc riban a p lic ac iones mo noltica s y
aisladas, rsticas y aburridas. Windows abri el camino al uso y desarrollo de
c om po nentes de softwa re, y a los mec anismo s de c omp osic in d e e sas c om po nentes
para desarrollar aplicaciones, dando soporte a una concepcin interactiva y
enriquecedora de usar las aplicaciones a travs de interfaces grficas de usuario, no
en balde Windows se llam Windows por ser el concepto de ventana grfica la
novedad fundamental. El gran salto cualitativo de un sistema que se nombraba por
c m o traba jab a (DOS) a un sistema que de ba su nomb re a c m o t trab ajab as c on
l (Wind ow s).
http://../Escritorio/Cursos/wpf/Curso_WPF/Modulo6/06_00.htmhttp://../Escritorio/Cursos/wpf/Curso_WPF/Modulo6/06_00.htm7/31/2019 Tema 1- Concpetos bsicos
3/34
Pgina 3 de 34
Pero en los 90s, posiblemente junto con la adolescencia o juventud de muchos de los
lectores, lleg la WWW. Los ordenadores se estaban conectando ms y ms hasta
formar el entramado que termin llamndose Web y surgi el concepto de navegar
en la Web. Las primeras aplicaciones para navegar (browser) se limitaban
simplemente a desplegar visualmente contenidos en el ordenador de escritorio del
usuario, imitand o e l efec to d e a lgo as c om o repasar las pg inas de un p erid ico. Estos
c onte nidos esta ba n de sc ritos en un lengua je de m arc as HTML, que p a ra c ordura
co lec tiva fue ace pta do p or todo s.
Y junto a la Web fueron apareciendo otras posibilidades. Internet Explorer 4, por
ejemplo, le aadi guiones (scripts). Los guiones son interpretados por los navegadores
y pe rmitan d ota r de un co mp ortamiento y una p ersona lizac in a los c ontenidos que
ha sta ahora solo se d esp legaban pasivos. Ahora c on los guiones los contenido s HTML
podan reaccionar a eventos interactuando con los usuarios y permitiendo a los
navegadores ejecutar alguna lgica y reaccionar ms rpidamente sin tener que
esta r via jand o a l servido r c ada vez que se ha c a una mnima interac c in.
No obstante los avances en la Web y en los navegadores, las aplicaciones de
escritorio desarrolladas sobre Windows seguan teniendo por lo general una interfaz
m s excitante y un co mp ortamiento m s ric o, co mp lejo y rp ido que el de la m ayora
de las ap licac ione s Web . Por otra p a rte p rog ram ar y dep ura r aplic ac ione s Web seg ua
siend o m uc ho m s d ifc il que las aplic ac ione s Wind ow s.
Pero tambin es cierto que la forma de trabajar con la Web introdujo concepciones
que no se tenan en las aplicaciones de escritorio Windows, como la forma simple de
instalar una aplicacin y la navegacin hacia detrs y hacia delante basada en
pginas.
Y en e so c on el nuevo milenio lleg Microsoft .NET. La m s mo de rna y evo luc iona d a
p la ta forma d e de sarrollo de softw are que p ermiti un rp ido de sarrollo de las
aplicaciones tanto de escritorio como Web, usando muchas ms y mejores
componentes de software, basndose en estndares aceptados de facto como un
modelo orientado a objetos seguro en sus tipos (type safe), http, XML y el hacer a la
Web asequible programticamente a travs de los servicios Web. Y por dems todo
esto en un esc ena rio a gn stic o e n c uanto al leng uaje de program ac in si ste
7/31/2019 Tema 1- Concpetos bsicos
4/34
Pgina 4 de 34
satisfac e un c onjunto d e req uerimientos c om unes c onoc ido c om o CLS (Comm on
Langua ge Spec ific a tion).
Durante su a n joven existenc ia .NET ha dem ostrad o con c rec es sus bond ade s e
incrementado exponencialmente la cantidad y versatilidad de las aplicaciones, y lo
que e s muy imp ortante : la prod uc tividad de los desarrolladores de softw are. Sin
embargo, mantener una sistemtica renovacin, para no dormirse en el xito de sus
productos, ha sido una constante en Microsoft que ha jalonado el desarrollo. A pesar
de la rique za e n ca pac idades de d esarrollo introd uc idas por .NET, tanto pa ra e l
mund o Windo ws c om o p ara e l mund o Web, lo c ierto es que an existe una b rec ha e n
la forma de de sarrollar ap lic ac iones y la de integrar las bo nda de s de am bo s mund os.
WPF (Wind ow s Presenta tion Found a tion) es el nuevo p rod uc to de Microsoft para sa lvar
esta brecha. WPF parece ser uno de los ms excitantes desarrollos para la
p rog rama c in en Wind ow s. Sob re c m o desarrolla r ap lic ac ione s en WPF trata r este
curso.
AAA qqquuu iiieeennn eeesss vvv aaa dddiiirrriiiggg iiidddooo???
Com enzar un curso sob re un nuevo tem a p retend iend o ser indep end iente de lo q ue
Ud. c onoc e es ca er en la vieja tramp a del qu p ongo y el qu supongo . De m od o q ue
partimos de que a estas alturas, si es que no estaba en hibernacin, Ud. estar
familiarizado con Windows y con su espectacular aporte al desarrollo de interfaces
grfica s de usuario pa ra las aplic ac ione s desarrolladas sob re ste.
Este no es un curso para aprender a programar, por tanto tener experiencia en
desarrollo orientado a objetos con algn lenguaje de programacin de .NET
(preferibleme nte C# ), y que Ud . haya a l meno s rom anc ea do c on una he rram ienta d e
desarrollo c om o Visua l Stud io, son requerimientos pa ra pasar este curso. Y por supuesto
que Ud. de be ser al me nos un usuario d e la Web p or lo q ue HTML y XML no le d eb en
resultar desconocidos.
CCCmmm oooeeesss ttt ooorrrgggaaannn iiizzzaaadddooo???
Aunque un buen desarrollador de WPF debera tener una slida base escribiendo
ap lic ac ione s WPF c om p leta me nte e n cd igo de un lengua je .NET, aborda r este c urso
7/31/2019 Tema 1- Concpetos bsicos
5/34
Pgina 5 de 34
con este enfoque lo hara muy extenso y competira contra nuestro objetivo
fundamental y es que Ud. pueda poner rpidamente manos a lo obra y pueda
em pezar a ha c er sus p rimeras ap lic ac iones sob re WPF. Es por e llo que el c urso se basa
en la c omb inac in lengua je de ma rc as de c larativo + c digo proc ed ural .NET. La
descripcin de las interfaces visuales de interaccin de las aplicaciones sern
presentadas en un nuevo lenguaje de marcas XAML (eXtensible Application Markup
Language) y el cdigo que implementa la lgica de la aplicacin asequible a travs
de esta interfaz ser d esarrollad o en el leng uaje orienta do a ob jeto s C# .
Por la imposibilidad de abordar en un solo curso la basta amplitud de recursos y
especificidades de WPF y XAML, este curso tratar aquellos temas ms relevantes
ilustrndolos con ejemplos, listados de cdigo e imgenes con el despliegue de los
resultad os. Tod os los c d igos de los ejem p los pod rn ser de sc argados del sitio d el
c urso. El curso c ulminar c on el desa rrollo de una ap lica c in ge neral que ilustra e l uso
de la ma yora d e los tem as trata dos.
El curso est dividido en Captulos y cada Captulo consta de varias lecciones cada
una sob re un tem a p artic ular. Las lec c iones vienen a c omp aa da s de un vide o g uiad o
que ilustra c m o imp lem enta r los ejemp los trata dos y va riac ione s de estos.
Si Ud . se e nc uentra por p rime ra vez co n WPF es rec om end ab le que siga el curso de
manera secuencial en el orden en que estn las lecciones. Ud. siempre podr saltar
hac ia d etrs y hac ia d elante si as lo de sea a travs de los enlac es.
El primer Captulo es una introduccin general a WPF. Con esta introduccin se
pretende ilustrar al lector en los conceptos ms bsicos que estn detrs de WPF y
XAML. Se p resentan los prime ros ejem p los rea les y se exp lic an las tres forma s de c rea r
ap lic ac ione s c on WPF: ap lic ac ione s Window s pa ra esc rito rio, ap lic ac ione s pa ra Web y
una forma hbrida que m ezc la b ond ad es de Windo ws y bond ad es de Web
El Captulo 2 est de dica do al trab ajo c on c ontroles. En ste se trata el co nce pto de
panel y c m o se distribuyen los eleme ntos dentro d el pa nel. Los pa neles constituyen la
p ieza fund ame nta l pa ra o rga niza r la a parienc ia visua l de la ap lic ac in. Tamb in se
presentan aqu los controles bsicos as como los diferentes eventos asociados a estos
controles bsicos y los nuevos mecanismos de propagacin de eventos que introduce
WPF. Finalmente la Leccin Enlace a Datos nos muestra cmo se puede hacer elenlac e c on d at os pa ra rellena r y persona lizar los c ont roles c on informa c in.
http://../Escritorio/Cursos/wpf/Curso_WPF/Modulo1/01_00.htmhttp://../Escritorio/Cursos/wpf/Curso_WPF/Modulo2/02_00.htmhttp://../Escritorio/Cursos/wpf/Curso_WPF/Modulo2/02_04.htmhttp://../Escritorio/Cursos/wpf/Curso_WPF/Modulo2/02_04.htmhttp://../Escritorio/Cursos/wpf/Curso_WPF/Modulo2/02_00.htmhttp://../Escritorio/Cursos/wpf/Curso_WPF/Modulo1/01_00.htm7/31/2019 Tema 1- Concpetos bsicos
6/34
Pgina 6 de 34
El Captulo 3 est de d ic ado a Grficos. Se c om ienza c on las figuras y los rec ursos
bsico s pa ra ha cer figuras. Luego se tra ta n las "b rocha s y pinc eles". Tamb in se tra ta n
los efec tos que se pue den ha cer sob re las im ge nes y las transforma c ione s grfica s a
las que puede someterse una interfaz. WPF basa la visualizacin de todos sus
elementos en la te c nologa grfic a Mic rosoft Direc tX de mo do que los am antes de las
ap lic ac ione s grfica s tienen aho ra fa c ilidades para to c ar el pa ra so c on sus de do s.
El Captulo 4 est dedicado a estilos y plantillas. Los estilos nos permiten personalizar la
apariencia de la interfaz de usuario de modo similar y mas amplio que lo que por
ejemplo Ud. ahora puede hacer con los estilos en Microsoft Word. Las plantillas
(templates) son un recurso que nos facilitar expresar patrones de cdigo y que
propiciar la reutilizacin aumentado la productividad y flexibilidad.
El Captulo 5 trata sobre temas ms avanzados. Aunque imposible cubrirlos todos, y
c ubrir c ad a uno en p rofundida d , se trata aq u sob re c mo inc luir en sus ap lic ac iones
WPF, video, grfica 3D, animacin y documentos, algo que antes de WPF haba que
log rar con un trab ajo duro y una a ma lga ma de te c nologas.
El curso culmina con la exposicin de una aplicacin general que servir a su vez de
"visor del propio curso". Muchos de sus elementos participantes se habrn ido
p resenta ndo en las lec c ione s del curso.
http://../Escritorio/Cursos/wpf/Curso_WPF/Modulo3/03_00.htmhttp://../Escritorio/Cursos/wpf/Curso_WPF/Modulo4/04_00.htmhttp://../Escritorio/Cursos/wpf/Curso_WPF/Modulo5/05_00.htmhttp://../Escritorio/Cursos/wpf/Curso_WPF/Modulo6/06_00.htmhttp://../Escritorio/Cursos/wpf/Curso_WPF/Modulo6/06_00.htmhttp://../Escritorio/Cursos/wpf/Curso_WPF/Modulo5/05_00.htmhttp://../Escritorio/Cursos/wpf/Curso_WPF/Modulo4/04_00.htmhttp://../Escritorio/Cursos/wpf/Curso_WPF/Modulo3/03_00.htm7/31/2019 Tema 1- Concpetos bsicos
7/34
Pgina 7 de 34
CCCaaappp tttuuu lllooo III IIINNNTTTRRROOODDDUUUCCCCCCIIIOOONNN
Windows Presentation Foundation (WPF) es una de las novedosas tecnologas de
Microsoft y uno de los pilares de Windows Vista. WPF potencia las capacidades de
desarrollo de interfaces de interaccin integrando y ampliando las mejores
c a rac terstica s de las ap lic ac ione s windo ws y de las ap lic ac ione s we b . WPF ofrec e una
amplia infraestructura y potencialidad grfica con la que se podrn desarrollar
aplicaciones de excitante y atractiva apariencia, con mayores y ms funcionales
facilidades de interaccin que incluyen animacin, vdeo, audio, documentos,
naveg ac in, gr fic a 3D. WPF sep ara, c on e l leng ua je d ec la ra tivo XAML y los leng ua jes
de programa c in d e .NET, la interfaz de interac c in d e la lgica de l negoc io,
propiciando una arquitectura Modelo Vista Controlador para el desarrollo de las
aplicaciones.
Este primer captulo es una introduccin general a WPF. Con esta introduccin se
prete nde ilustrar al lec tor en los c onc ep tos m s bsic os que e stn d etrs de WPF c om o
el mode lo d e rbo l de elementos de presenta c in y el leng uaje dec larativo d e ma rc as
XAML. Se p resenta n los p rimeros ejem plos rea les y se exp lic an las forma s de c rear
ap lic ac ione s c on WPF: ap lic ac ione s Window s pa ra esc rito rio, ap lic ac ione s pa ra Web y
una forma hbrida que m ezc la b ond ad es de Windo ws y bond ad es de Web .
7/31/2019 Tema 1- Concpetos bsicos
8/34
Pgina 8 de 34
LLLeeecccccciiinnn 111 LLLaaasss bbbaaassseeesss dddeee WWWPPPFFFyyy XXXAAAMMMLLL
EEElll MMMooodddeeelllooo dddeee lllaaa sss AAAppp llliiicccaaaccciiiooonnn eeesss dddeee WWWiiinnn dddooowww sss VVViiisss tttaaa
Las aplicaciones de escritorio en Windows tienen sus fortalezas sobre las aplicaciones
Web. Seg urame nte m uc hos de Uds. an p ued en sentir que la interac tividad y estimulo
sensorial de algunas aplicaciones Web parecen rsticas y poco atractivas en
comparacin con las que se logran en una aplicacin de escritorio Windows.
Programa nd o a p lic ac iones de e sc rito rio sob re .NET Ud . dispone d e un sinfn d e
componentes y de medios para integrar la lgica de sus aplicaciones con una rica
interfaz grfica que a su vez saca ventaja del hardware del cliente en comparacin
con la neutralidad que deben mantener los navegadores Web (compare por ejemplo
la rica apariencia y funcionalidad de Outlook con la simpleza e incomodidad de
a lguno s Web Ma il).
Los viajes de ida y vuelta e ntre e l cliente y el servidor de las aplic ac ione s Web p ued en
atentar contra el rendimiento. Esto ha provocado que los controles Web sean ms
primitivos en comparacin con los de Windows lo que induce a su vez a que los
diseadores de las aplicaciones Web incorporen poca interactividad y efectos en sus
ap lic ac iones pa ra c omp ensar la lentitud (que a pe sar de los aum entos en los anc hos
de ba nda no c omp ite an c ontra e l bus de da tos de la p lac a m ad re). Ud. no se ha
molestado alguna vez cuando para ver el precio de su reserva de avin tiene que
navega r a la p gina siguiente p ara que cua ndo c omp ruebe que el precio no le viene
bien y quiere proba r c on otro vuelo teng a q ue volver a la p g ina a nterior?
Sin e mb argo , las ap lic ac ione s trad ic iona les de esc ritorio sob re Window s tamb in
tienen sus debilidades en comparacin con las aplicaciones Web. Las aplicaciones
Windows por lo general requieren ser instaladas, tarea que adems se dificulta con el
7/31/2019 Tema 1- Concpetos bsicos
9/34
Pgina 9 de 34
estar pendiente de las actualizaciones. Adems es cierto que el paradigma de
aplicaciones orientadas a pginas, navegando de una pgina a otra, as como el
llevar el historial de navegacin, se puede echar de menos en las aplicaciones
Windows (a menos que claro Ud. logre un efecto similar programando a cincel y
martillo).
Por otro lado a pesar de su riqueza interactiva las aplicaciones Windows tienen sus
limitaciones para el despliegue de documentos y la integracin de textos, imgenes,
audio y video (ha intentado hacer algo de esto con las Windows Forms?). Lo ms
proba ble es que algunas de las ap lic ac iones que Ud. hab r a prec iad o c on rique za d e
medios y controles hayan tenido que desarrollarse bajo el embrollo de mezclar
variadas tecnologas (controles Active X, Flash, PDF, etc) y con varios desarrolladores
intentando c on d ific ulta d integ rar sus trab ajos y resultad os.
El modelo de aplicacin de Windows Vista se basa en las mejores caractersticas y
experiencias de ambos mundos para integrarlos en un modelo unificado de
prog rama c in b asad o a su vez en e l c d igo administrad o d e .NET. Un eleme nto
integ rante de e se m od elo e s WPF y es de WPF de los que trata este c urso.
Hay dos componentes fundamentales en el modelo de aplicaciones de Windows
Vista. Una es WCF (Windows Communications Foundation), conocida por su nombre
interno Indigo. Este es un sistema de comunicacin basado en mensajes sobre
mltiples transportes y a travs de sistemas heterogneos. La otra componente es WPF
(Window s Presenta tion Found a tion), co noc ida po r su no mb re interno Ava lon. WPF da
soporte al desarrollo integrado de una rica, verstil, excitante, interactiva y
personalizada capa de presentacin de nuestras aplicaciones con la lgica del
negoc io d el tema de la a plica cin y todo ello ejecutand o en un c ontexto c onfiab le,
seg uro y p roduc tivo c om o e s .NET.
No le ha oc urrido que sus c lien tes, e incluso Ud . mismo , se sienten insa tisfec hos por la
pob re y poc o persona lizada a parienc ia visua l de su ap lic ac in? No se ha visto
disminuido el valor de la experticia que logr poner en la lgica de su aplicacin
porque la aplicacin tiene una pobre, sobrecargada o poco estimulante interaccin
grfica ? No ha q uerido Ud . que su ap lic ac in de esc ritorio basada en formularios
Windows tenga efectos y apariencias visuales como las que puede lograr por ejemplocon sus presentaciones en Power Point? o a la inversa, no ha querido Ud. que una
7/31/2019 Tema 1- Concpetos bsicos
10/34
Pgina 10 de 34
presenta c in Pow er Point p ued a tener m s funcionalida d y rea c c iona r y mostrar d ato s
acorde con la lgica de su negocio? Ahora con WPF podr lograr que sus
ap lica ciones tenga n una m ezcla d e a mb as bond ad es.
XXXAAAMMMLLL
XAML siglas de eXtensible Application Markup Language es el lenguaje declarativo
p rop uesto por Microsoft pa ra de finir las interfac es de usua rio de las ap lic ac ione s. XAML
se basa en una sintaxis bien formada en XML y su fcil extensibilidad. XAML propicia
sep arar la de finic in d e las interfac es de usuario d e la lg ic a prop ia de la ap lic ac in.
En este sentido ofrece soporte para expresar el desarrollo de aplicaciones sobre laarquitec tura c onoc ida c om o MVC (Mod el View Controler) Mod elo Vista C ontrolad or.
La intencin con XAML es que en un lenguaje declarativo se puedan definir los
elementos que compondrn una interfaz de usuario para que estos puedan ser
desplegad os y co necta dos co n la lgica de la ap lic ac in me diante un motor de
presenta c in q ue e jec uta sob re .NET Frame wo rk co noc ido c om o WPF. Algo as c om o
que XAML es el pentagrama y la simbologa para expresar la partitura pero WPF es la
orquesta pa ra ejecuta rla!
XAML sigue las reglas sintcticas de XML. Cada elemento XAML tiene por tanto un
nombre y puede tener uno o ms atributos. Realmente XAML ha sido diseado para
esta b lecer una c orrespondenc ia lo ms d irec ta p osible con e l CLR de .NET. Por lo
ge neral tod o e lem ento en XAML se c orrespond e c on una c lase d el CLR de .NET, en
particular de WPF, y todo atributo XAML se corresponde con el nombre de una
propieda d o d e un evento de d icha clase.
A la inversa, aunque no todas las clases del CLR estn representadas en XAML,
aquellas clases que tengan un constructor por defecto y propiedades pblicas
pueden ser instanciadas declarativamente en cdigo escrito en XAML.
Tod os los nombres de elem ent os y d e a tributo s XAML son sensitivos a ma ysc ula y
minscula.
Los valores de los atributos, con independencia de su tipo deben escribirse entre
c om illas dob les (").
7/31/2019 Tema 1- Concpetos bsicos
11/34
Pgina 11 de 34
La mayora de los elementos XAML tienen la caracterstica de que se despliegan
visualmente (rend er), pued en rec ibir entrada de tec lad o y rat n, dispa ran eventos y
saben v isua liza r el tamao y p osicin d e sus elem ent os c ontenido s (hijos).
La ma yora de los eleme ntos XAML son eleme ntos de interfaz de usua rio y d erivan d e
System.Windows.UIElement
Note en el cdigo XAML del Listado 1- 1 el pedazo que nos define un botn
(destacado en negrita). Al botn se le especifican los atributos ancho, alto, tipo de
fuente, tama o d e la fuente, color de fondo y co lor de frente (po r simp lic ida d he mo s
dejado que otros muchos atributos del botn tomen su valor predeterminado), el
bo tn tiene un c ontenido q ue en este c aso e s el texto Plsam e q ue a pa rec e e ntre los
dos ta gs y . La Figura 1 - 1 nos muestra c m o se ve ra ese b otn a l
ser desp lega do p or WPF.
Por simplicidad, en muchos de los ejemplos de este curso hemos dejado que algunos
a tributos tom en su va lor pred ete rminad o. Sin em bargo , hasta ahora los va lores
predeterminados de muchos atributos han ido cambiando de una versin de WPF a
otra. Pa ra e l desa rrollo d e a p lic ac ione s rea les rec om end amo s po ner exp lc ita me nte los
valores que quiera garantizar para los atributos an cuando estos coincidan con el
valor prede terminad o.
Listado 1- 1 Cdigo XAML de ventana con un botn
Plsame
7/31/2019 Tema 1- Concpetos bsicos
12/34
Pgina 12 de 34
Figura 1 - 1 Ventana c on bo tn sin ac c in asoc iada
XXXAAAMMMLLL yyy eeelllcccooodddeee---bbbeeehhhiiinnn ddd
Si hac em os c lic sob re el bo tn d e la a plic ac in d e la Figu ra 1 - 1 no oc urrir na da. Si
queremos asociar una accin al evento de hacer clic sobre el botn debemos dar
c om o va lor del atributo C lic e l nomb re d e un ma nejado r pa ra e se evento (tal y co mo
se muestra en el Listado 1- 2 ).
En este c aso q ueremo s que al hac er clic el bot n c am bie d e c olor. Dnde de finimo s
el manejador con la accin para lograr el cambio de color al pulsar el botn? Como
XAML es un leng ua je de ma rc as dec la rat ivo, esta a c c in hay que d esc ribirla en un
leng ua je p roc ed ural de .NET (C# en e ste c urso). Esto e s lo que se c ono c e c om o c od e-
be hind (o c d igo en el trasfondo ). En este c aso e l ma nejado r, que hem os llam ad o
miBoton_Clic, lo que hace es cambiar en C# el valor de la propiedad Background.
Pero p ara e llo el ma nejado r deb e te ner una forma de po de r referirse a l bot n. Para
lograr esto en el cdigo XAML del Listado 2 se le da un nombre al botn al asociar al
at ributo Name el valor "miBoto n". El cd igo C# del ma nejad or miBoto n_Clic se
muestra e n e l Lista do 1- 3
Listado 1- 2 XAML pa ra b otn c on m aneja dor de eve nto
Plsame
Listad o 1- 3 Cod e-be hind p ara e l XAML del Listad o 1-2
using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;
using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;
7/31/2019 Tema 1- Concpetos bsicos
13/34
7/31/2019 Tema 1- Concpetos bsicos
14/34
Pgina 14 de 34
Title="Botn con cdigo C# inline para el manejador">
Width="200"Height="100" Background ="Blue"Foreground="White"Plsame
elsemiBoton.Background = Brushes.Blue;
azul=!azul;
}]]>
Lo a dec uad o es po ner este c digo c on la imp lementac in d el manejad or del evento,
y el resto d e la lg ica d e la ap lic ac in, en un fic hero (co n extensin xaml.cs)
sep arad o de l fic hero (c on extensin .xaml) que c ontiene el cd igo XAML. Visua l Stud io
nos genera automticamente el fichero xaml.cs con el esqueleto de cdigo C# tal y
c om o se m uestra en e l Lista do 1- 5. Ud. deb er rellena rlo c on e l c d igo nec esario p a ra
c om pletar la d efinic in de los ma nejad ores.
Listado 1- 5 Esquem a de c d igo p ara completar el c od e-b ehind
using System;using System.Collections.Generic;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;
using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Shapes;
namespace WPFCursoOnline{
////// Interaction logic for Window1.xaml///
publicpartialclassWindow1 : System.Windows.Window{
7/31/2019 Tema 1- Concpetos bsicos
15/34
Pgina 15 de 34
public Window1(){
InitializeComponent();}
}}
En principio esto es todo lo que se necesita saber para acoplar su interfaz de usuario
XAML con su lgica de funcionamiento en C#. En el XAML hay que ponerle nombre a
los elementos que necesitemos referir en el cdigo C# y darle como valor el nombre
de un manejador a los atributos eventos que queremos tratar. El resto es rellenar el
c digo C# que q ueda en el trasfondo.
PPPaaarrraaa lllooosss mmm sss cccuuurrriiiooosssooosss
Por lo pronto pudiera saltar a la seccin siguiente, pero si tiene curiosidad por
c om prende r un po c o lo que o c urre tras ba mb alinas en el c mo WPF hac e este a c op le
entonc es c ontine c on esta sec c in.
Note la p alab ra c lave pa rtial junto a l nomb re d e la clase Windo w1. Esto le indic a al
c om pilad or que sta e s una c lase p arcial y que el cd igo de la m isma , rellena do po r
el programa do r, deb e a c op larlo c on e l cd igo .NET que c orrespo nde a la de finic in
de la interfaz esc rita en e l XAML y que ser q uien c on su ejec uc in ha r el de sp lieg ue
y ac cionar de la c ap a d e presentac in.
El conc ep to de c lase p a rc ial es un a porte imp ortante de l .NET Frame wo rk 2.0
Si Ud . se fija en e l c d igo d el Lista do 3, en e l mismo usamo s la va riab le miBoton p ero no
aparece la instanciacin e inicializacin de un objeto Button para asignar a dicha
variab le. Tam po c o a pa rec e la d efinic in d el mto do InitializeCo mp onent. Ud. p ued e
ima ginar que lo q ue o c urre e s un a c op le d e la c lase p arcial del Listad o 1- 3 co n una
c lase p a rc ial c om o la que se m uestra en el Listado 1- 6.
Listad o 1- 6Supuesta clase parcial para el acople con el code-behindnamespace WPFCursoOnline{
publicpartialclassWindow1 : System.Windows.Window{
Button miBoton = new Button();
7/31/2019 Tema 1- Concpetos bsicos
16/34
Pgina 16 de 34
void InitializeComponent(){miBoton.Width = 200;miBoton.Heigth = 100;
miBoton.FontSize = 25;miBoton.Background = Brushes.Blue;miBoton.Foreground = Brushes.White;...
}
}}
Rea lme nte Visua l Stud io no ge nera una ta l clase. El proceso q ue o curre e s muc ho m s
c om p lejo y su d esc ripc in se sa le d e los ob jetivos de e ste curso. Cua ndo se c om p ila el
proyecto que contiene el (los) fichero (s) con extensin .xaml un rbol por cada XAML
queda serializado e incrustado en el ensamblado resultante de la compilacin. En
ejecucin el mtodo InitializeComponent lo que hace es recorrer este rbol, crear
las instancias correspondientes a los elementos XAML y establecer las asociaciones
con las variables, en el ejecutable correspondiente al cdigo C#, que hayan sido
nomb rad as a travs de l atributo Name e n c ad a e lem ento XAML.
Por otra parte en XAML, al igual que en XML, el valor que se le puede asociar a un
a tributo se e sc ribe siempre en formato de un string. Por eso Ud. esc ribe FontSize="25" o
Background ="Blue". Es toda una maquinaria de convertidores de WPF (maquinaria
que Ud. puede extender) la que a partir de aqu termina haciendo algo como
miBot on .FontSize = 25; o miBot on .Bac kground = Brushes.Blue;
VVVeeennn tttaaajjjaaa sss dddeee XXXAAAMMMLLL yyy WWWPPPFFF
Si el lec tor ha desarrollad o a lguna ap lic ac in con Windo ws Forms usand o Visua l Stud io,
podr pensar que lo que se ha explicado en la seccin anterior es lo mismo que
po de mos hac er co n el disea do r de Visual Studio c uand o impleme ntam os una
ap lic ac in Wind ow s Forms y arrastramo s un b ot n d esde la c a ja d e he rramienta s pa ra
lueg o retoc a rle las p rop ied ade s con e l ed itor de p rop ied ades. En este c aso es el
Disea dor de Visua l Stud io q uien est p or det rs ge nerand o e l c d igo p roc ed ural C#
correspondiente. Entonces toda esta nueva parafernalia del WPF para qu el mismo
vino con otra botella? No es ms complicado escribir este cdigo en XAML que
trab a jar visua lmente c on e l Disea dor de Visua l Stud io y el Ed itor de Prop iedades?
7/31/2019 Tema 1- Concpetos bsicos
17/34
Pgina 17 de 34
Bueno , nad ie ha d ic ho q ue c on WPF vamo s a renunc ia r a usa r una herram ienta visua l
de d iseo integ rada a Visua l Stud io. Una herramienta bsica integ rada a Visua l Stud io,
de nombre Cyder, est en preparacin (y por ello en este curso no ha sido utilizada).
Una tal herramienta de diseo generara cdigo declarativo en XAML (como el que
aho ra hem os esc rito a m ano ) en luga r de l c d igo C# .
Lo q ue ha ce m s va lioso a este e nfoq ue d e WPF ba sado e n XAML es que a l qued ar la
interfaz de usuario espe c ific ad a c on un lengua je d e ma rc as y dec larativo, com o es
XAML, la hace legible y ms fcilmente "retocable" por los humanos y, lo que es ms
importante, fcilmente susceptible de ser analizada y procesada por herramientas.
Esto ofrece a terceros la posibilidad de crear herramientas de diseo visual que
sop orten XAML (de hec ho ya se e stn d esarrollando a lguna s).
La separacin entre cdigo XAML para expresar la interfaz y apariencia, y cdigo de
un lenguaje .NET c om o C# pa ra expresar la lg ic a de la ap lic ac in, fac ilitar que los
diseadores con capacidades artsticas (posiblemente con experiencias en los
leng uajes de ma rc as c om o HTML pe ro po co hab ilido sos pa ra la programa c in)
puedan integrar mejor y con mas efectividad su trabajo con los programadores
c onc entrad os en la lgica de la ap lic ac in (q ue p or lo g eneral son m uy rstic os a la
hora de disear una atractiva apariencia). Con ello se facilitar poder modificar la
inte rfaz visua l sin tene r que to c a r la lg ic a de la a p lic ac in (incluso sin ver cd igo C # )
y viceversa.
XAML es extensible, como su nombre lo indica, lo que significa que los desarrolladores
pueden crear sus propios controles y elementos personalizados. Como XAML es por
naturaleza una representacin textual en XML de los objetos de WPF, puede ser
extendido por los desarrolladores por las tcnicas de la programacin orientada a
objetos. De este modo objetos concebidos para la lgica de la aplicacin pudieran
ser expuestos va XAML para q ue sea n e xtend idos por los d isea dores visua les.
Pero es ms, aunque XAML no es un lenguaje de programacin procedural, y no est
orienta do a esc ribir la lg ic a de la ap lic ac in, tiene elementos de naturaleza funcional
que inc iden sob re la prop ia visua lizac in de la interfaz, tal es el caso p or ejemp lo de los
elem entos Trigger y Anima tion q ue p ermitirn da rle d inam ismo a la interfaz visua l sin
tener que lleg ar a C# . Ver Lec c in Anima c iones y Lec c in Triggers.
http://../Escritorio/Cursos/wpf/Curso_WPF/Modulo5/05_01.htmhttp://../Escritorio/Cursos/wpf/Curso_WPF/Modulo4/04_03.htmhttp://../Escritorio/Cursos/wpf/Curso_WPF/Modulo4/04_03.htmhttp://../Escritorio/Cursos/wpf/Curso_WPF/Modulo5/05_01.htm7/31/2019 Tema 1- Concpetos bsicos
18/34
Pgina 18 de 34
EEElll MMMooodddeeelllooo CCCooonnn ttteeennneeedddooorrrCCCooonnn ttteeennn iiidddooodddeee XXXAAAMMMLLL
El ncleo del modelo de presentacin de WPF se basa en los elementos de
presentacin. En el ejemplo de esta seccin tenemos un elemento Button que es un
control con contenido visual y comportamiento (puede responder a eventos) y un
elemento Window que es un contenedor. En este caso el contenido del botn es un
texto y por eso se puso directamente la cadena Plsame dentro de los tags Button.
Esto se po dra haber esc rito ta mb in a soc iando e l valor "Plsame " a l atributo Content
c om o se m uestra en el Lista do 1- 7
Listad o 1- 7 Uso d el a tributo Co ntent
Lo interesante es que en WPF el contenido de un botn no tiene por qu ser un textosino q ue pued e ser cua lquier otro elemento (prc tica me nte c ua lqu ier objeto .NET).
El Listado 1- 8 nos muestra cmo definir un botn que tiene como contenido una
imagen, lo que a l ser desp lega do p or WPF se ob tiene la Figura 1 - 3.
Listado 1- 8 XAML de bo tn con imag en d entro
7/31/2019 Tema 1- Concpetos bsicos
19/34
7/31/2019 Tema 1- Concpetos bsicos
20/34
Pgina 20 de 34
Listado 1- 10 XAML de bo tn que c ontiene ima gen y texto
WINDITO
El Listado 10 muestra el uso del panel DockPanel. En este caso el contenido del botn
ser un pa nel que c ontiene una ima ge n (un elemento Imag e) seg uido de un texto (un
elemento TextBloc k). El resulta do se m uestra en la Figura 1 - 4
Figura 1 - 4 Botn c on ima ge n y texto
AAA tttrrriiibbbuuu tttooosss
Los atributos son la representacin XAML de las propiedades de la clase
c orrespo ndiente a un elemento.
Lam enta b lem ente el trmino a tributo ta mb in ha sido utilizad o p or .NET pa ra no mb ra r
al recurso de metainformacin que se puede asociar a diferentes construcciones de
los lengua jes .NET Este uso d el trmino no t iene na da que ve r c on uso q ue se le d a en
XAML.
Dependiendo del tipo de la entidad representada por el atributo, a estos pueden
asignrsele un valor de una de dos formas. Se le pue de a signa r un valor inline, c om o
7/31/2019 Tema 1- Concpetos bsicos
21/34
Pgina 21 de 34
parte de la declaracin del elemento o se le puede asignar un valor declarndolo
explcitamente como un elemento anidado dentro del elemento que se est
describiendo.
Cua ndo e l atributo se le a signa valor inline, el va lor en XAML se p one siem pre c om o un
string , es dec ir ent re com illas (" "). Esto no quiere dec ir que e l va lor rea l c orrespond iente
en su representacin en el CLR sea un string. Por ejemplo cuando hacemos el string "20" c orrespond e a l va lor entero 20 en e l CLR de .NET, cuand o
se ha c e el string rea lme nte c orrespond e a l
objeto brocha Brushes.AliceBlue (a su vez una propiedad esttica de tipo Brush y de
nombre AliceBlue definida dentro de la clase Brushes. WPF se encarga de hacer las
transformaciones a partir del string "AliceBlue" que es lo que se escribe originalmente
en XAML. Esto pod a pone rse en forma an idada explc itame nte (Lista do 1- 11).
Listado 1- 11 Atributo c on va lor dec larad o e xplc itam ente
7/31/2019 Tema 1- Concpetos bsicos
22/34
Pgina 22 de 34
LLLeeecccccciiinnn 222 CCCooonnn ssstttrrruuuyyy aaa sssuuu ppp rrriiimmm eeerrraaa aaappp llliiicccaaaccciiinnn cccooonnn
WWWPPPFFF
En esta leccin le mostraremos cmo crear sus proyectos para WPF desde Visual
Stud io. Veremo s c om o c rea r tres tipos de aplic ac ione s. Ap lic ac ione s WPF que
ejecutarn en Windows. Aplicaciones WPF Web y que ejecutarn dentro de un
navegador (Internet Explorer) y en las que podr manejar el concepto de pgina. Y
tamb in se ver c omo crear una a plica cin Window s pero c on p g inas de mod o d e
po de r naveg ar entre d ic has p ginas.
IIInnn sss tttaaa lllaaaccciiinnn dddeeeWWW
PPPFFF
Para p rac tica r los tema s de e ste curso Ud. nec esita de Windo ws Vista , Windo ws XP con
Service Pac k 2 o Wind ows Serve r 2003.
Prime ro d eb e insta lar tam b in el Wind ow s SDK. A continuac in deb e insta lar el .NET
Frame wo rk 3.0 (que vend r inc luido c om o p arte d e Window s Vista ).
http://msdn.microsoft.com/netframework/downloads/updates
En p rinc ip io Ud. no nec esita de Visua l Stud io p ara c om p ilar y ejec uta r ap lic ac ione s de
WPF (al igua l que tamp oc o lo nec esita pa ra desarrolla r ap lic ac ione s .NET). Cuando Ud .
se d esc arga el SDK este viene c on a plic ac in d e lnea de c om ando MSBuild c on la
c ua l Ud . podr c om p ilar y generar ap lica c ione s WPF. Sin emb argo este c urso lo
ilustram os sob re la base d e ut iliza r Visua l Stud io porque e sto nos ha r a todos el trab a jo
infinitamente ms fcil de modo que no vamos a abrumarlo en este curso
explic ac ione s de c m o ha c er las cosas c on MSBuild cuando posib lem ente la m ayora
no lo nec esita r.
http://msdn.microsoft.com/netframework/downloads/updateshttp://msdn.microsoft.com/netframework/downloads/updateshttp://msdn.microsoft.com/netframework/downloads/updates7/31/2019 Tema 1- Concpetos bsicos
23/34
Pgina 23 de 34
Si a l mom ento de interac tua r c on e ste curso ya d ispo ne d el nuevo Visua l Stud io p a ra
WinFX (c d igo interno Orc as) posiblem ente no teng a que insta lar nad a m s. Por aho ra
suponemo s que Ud. de be tene r insta lado Visua l Stud io 2005 y a dem s deb e insta la r
Visua l Stud io Extensions for .NET Framework 3.0 (WCF&WPF). Esto le a a d ir a Visua l
Stud io las herramientas que inc luyen la integ rac in de XAML c on e l ed itor Inte llisense,
las plantillas (templates) de proyectos para WPF, para WCF y la integracin con la
doc ume ntac in d el Window s SDK.
De mom ento, esta s extensiones incluyen tamb in a Visua l Stud io un d iseador visua l, a l
estilo de l que tene mo s pa ra las Window s Forms, pe ro que e st an en un esta do rstico
y experimental. Pero no se alarme que esta claro que un buen diseador vendr. De
modo que por esta razn, y para que Ud. gane un dominio mayor del tema, los
ejemplos de este curso los vamos a escribir directamente a mano en XAML, aunque
claro que el Intellisense nos ayudar y nada nos impide echar mano tambin al viejo
mtodo de copiar y pegar (para lo que Ud. podr descargar todos los proyectos de
los ejemp los que vienen c on el curso).
Si ya lo tiene to do insta lado y d io una lectura a la lec c in a nterior entonc es ma nos a la
obra con WPF. En esta leccin vamos a ver los tres modos de crear aplicaciones en
WPF, primero veremos como desarrollar una aplicacin que ejecutar como
aplicacin de escritorio Windows, luego veremos cmo desarrollar una aplicacin
similar pero para que sea ejecutada por un navegador y por ltimo veremos una
forma hbrida de c mo ejec utar una a plica cin Window s pero co n ca pa cidad es de
navegacin como las que se ofrecen en las aplicaciones ejecutadas bajo un
navegador.
CCCrrreeeaaarrr uuunnnaaa aaappp llliiicccaaaccciiinnn WWWPPPFFFppp aaa rrraaa eeejjjeeecccuuu tttaaarrr cccooommm oooaaappp llliiicccaaaccciiinnn dddeee eeessscccrrriiitttooorrriiiooo
Ab ra Visua l Stud io y esc oja la op c in New Projec t pa ra c rea r un nuevo p royec to.
Selec c ione la o pc in NET Frame wo rk 3.0 en la venta na aparec ern las p lantillas para
las nueva s posibilida des que da WPF ta l y c om o se m uestra en la Figura 2- 1.
Escoja la opcin Windows Application (WPF)para indicar que queremos crear un
ejecuta ble pa ra una ap lic ac in Windo ws c on WPF (despu s verem os c m o p od em os
seleccionar tambin XAML Browser Application (WPF) si lo que queremos es crear una
aplicacin para usarla dentro de un navegador web). Dle un nombre al proyecto y
7/31/2019 Tema 1- Concpetos bsicos
24/34
Pgina 24 de 34
pulse OK. Los ficheros de proyecto y los manifiestos de la aplicacin sern creados
automticamente.
Ab ra el Solution Explorer y mire los fiche ros gene rados. Abra el fic hero Windo w1.xa ml
para que vea la p lant illa en XAML c rea da pa ra la interfaz (Figu ra 2- 2) y ab ra el fic hero
Windo w1.xam l.cs p ara que vea la plantilla C# c rea da pa ra el cod e-behind
Figura 2- 1 Escog iendo la opc in de c rea r un proyec to pa ra a plica c in de
esc ritorio WPF
Figura 2- 2 Plantilla p ara e l c dig o XAML de una a plic ac in de esc ritorio WPF
7/31/2019 Tema 1- Concpetos bsicos
25/34
7/31/2019 Tema 1- Concpetos bsicos
26/34
Pgina 26 de 34
Name=miBoton el Intellisense incorporar esta informacin, de modo que a partir de
ah cuando se use la variable miBoton en el cdigo C# este ofrecer las facilidades
acostumbradas desplegando las caractersticas asociadas al tipo de la variable
(Figura 2- 4).
Figura 2- 4 Esc ribiendo el code-b ehind de l manejad or del evento c lic
Busque la opcin Build y compile el proyecto y luego ejecute la aplicacin, deber
de splega rse una ventana c om o la q ue se m ostr e n la Figura 1- 2. Haga clic sobre el
bot n y observe c mo ste reac ciona a l evento y ca mb ia d e c olor.
CCCrrreeeaaarrr uuunnnaaa aaappp llliiicccaaaccciiinnn WWWPPPFFFpppaaarrraaa eeejjjeeecccuuu tttaaa rrr eeennn uuunnn nnnaaavvv eeegggaaadddooorrr
En lugar de crear una aplicacin WPF que funcione como aplicacin de escritorio
Windo ws, pued e c rea rse una ap lic ac in WPF pa ra que sea ejecuta da a trav s de un
navegador. Para ello siga los mismos pasos que para crear la aplicacin de escritorio
pero esc oja la p lantilla WinFX Web Brow ser App lic a tion a la hora d e e sc og er el tipo d e
proyec to (Figura 2- 1).
Abra el fichero Page1.xaml, compruebe que a diferencia del caso anterior para una
aplicacin Windows, ahora en la plantilla aparece ahora el elemento XAML
en lugar de (Figura 2- 2).
http://../Escritorio/Cursos/wpf/Curso_WPF/Modulo1/01_01C.htmhttp://../Escritorio/Cursos/wpf/Curso_WPF/Modulo1/01_01C.htm7/31/2019 Tema 1- Concpetos bsicos
27/34
7/31/2019 Tema 1- Concpetos bsicos
28/34
Pgina 28 de 34
Figura 2- 3 Cdigo C# de aplica c in WPF pa ra e jec utar en navega do r
Si ejec uta mo s esta ap lic ac in esta se d esp lega r dentro del Inte rnet Explorer (Figura 2-
4). Note los dos nuevos botones de navegacin que aparecen dentro de la ventana
del nave ga dor. Estos bo tone s sirven pa ra la naveg ac in e ntre las pg inas de la m isma
aplicacin y son puestos automticamente por WPF, por haber seleccionado la
opcin de generar una aplicacin Web Browser. Adems como siempre estn los
boto nes del Internet Exp lorer pa ra nave ga r entre d istintas p ginas abiertas c on Internet
Explorer.
Figura 2- 4 Aplica c in WPF ejec utando en e l naveg ad or
7/31/2019 Tema 1- Concpetos bsicos
29/34
Pgina 29 de 34
Para el ejemplo anterior los botones de navegacin no son de utilidad porque
tenem os una sola p g ina y p or tanto no ha y p ginas entre las que naveg ar (note q ue
en la ima ge n los bo tones ap arec en c om o d eshab ilitad os).
Sin embargo si tuviramo s el p royec to c on los dos fiche ros Wind ito.xaml (Figura 2- 5) y
WEBOO .xaml (Figura 2- 6) si habra na veg ac in entre p gina s y os botones nos sirven
pa ra e llo.
Note e n el XAML de la p gina d e la Figu ra 2- 5 que hem os utilizado un nue vo e lem ento
XAML que es Hyperlink, este nos permite enlazar una pgina con otra cuya ubicacin
hay q ue d arle c omo valor al atributo Naviga teUri. Comp ile y e jec ute la a plic ac in y se
despleg ar de ntro del Internet Explorer la p rime ra pgina (Figura 2- 7). De c lic sob re el
hyperlink y se pasar a la pgina siguiente (Figura 2- 8). Fjese que ahora el botn de
naveg ac in a pa rec e a c tivad o ha bilitand o el movimiento sob re el historial de p ginas
de la misma ap lic ac in, pe rmitiend o e n este c aso reg resar a la p gina a nterior.
Figura 2- 5 Cdigo XAML de una p g ina c on hyp erlink
7/31/2019 Tema 1- Concpetos bsicos
30/34
7/31/2019 Tema 1- Concpetos bsicos
31/34
7/31/2019 Tema 1- Concpetos bsicos
32/34
7/31/2019 Tema 1- Concpetos bsicos
33/34
Pgina 33 de 34
Figura 2- 14 Indic and o la pg ina inic ial dentro de la ap lic ac in Windows
Com pile y ejec ute la a plic ac in, co mp rueb e q ue se m ostrar una ventana en el estilo
de una aplicacin de escritorio Windows, es decir que no ejecutar dentro de un
nave ga do r. Sin em ba rgo , note q ue a hora en su interior se ha de splega do la p gina y
que en la parte superior de la pgina WPF nos ha puesto automticamente los
boto nes de na veg ac in (Figu ra 2- 15).
Figura 2- 15 Aplic ac in Windows c on nave ga c in entre pg inas
7/31/2019 Tema 1- Concpetos bsicos
34/34
Aunque no estamos dentro de un navegador Web si hacemos clic en el hiperlynk
WEBOO de la Figu ra 2- 15 naveg arem os ha c ia la p rxima p gina (Figura 2- 16), note
co mo el bot n de navega cin est ac tivad o
Figura 2- 16 Aplicac in Windows con Naveg ac in entre p g inas