Wpf – Acceso al modelo-vista desde código

Descripción general

Este mini apunte muestra como se puede acceder al modelo vista (MVVM) desde el código de la aplicación.

[TOC] Tabla de Contenidos


↑↑↑

1.1 Introducción

Para acceder al Modelo Vista declarado en el apartado [Resources] de la ventana o de la aplicación desde código hay que dar los siguientes pasos:


↑↑↑

1.2 La clase Vista

La llamare [ColegaModeloVista] y solo tendrá una propiedad, el nombre del colega

Public Class ColegaModeloVista
     Public Property Nombre As String
End Class


↑↑↑

1.3 La ventana

Incluirla en [Resources]m de la ventana

Establecer el enlace de datos, porque es un modelo vista. Aunque en realidad para esta ejemplo no hace falta.


↑↑↑

1.3.1 El código Xaml de la ventana quedara así:

 
<Window x:Class="WindowPruebaColega" 
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:local="clr-namespace:WpfApplicationPruebasComboBoxPersonalizado" 
         mc:Ignorable="d" 
         Title="WindowPruebaColega" 
          Height="100" Width="200">
 
    <Window.Resources>
        <local:ColegaModeloVista x:Key="ColegaModeloVistaDatos" />
    </Window.Resources>
    
    <Grid>
        <TextBox x:Name="textBoxNombreColega" 
        HorizontalAlignment="Left" 
        VerticalAlignment="Top" 
        Height="23" 
        Width="120" 
        Margin="5" 
        TextWrapping="NoWrap" 
        Text="{Binding Nombre, Source={StaticResource ColegaModeloVistaDatos}}" />
 
    </Grid>
</Window>


↑↑↑

1.3.2 En código [behind] de la ventana

En el código [behind] de la ventana usaremos [FindResource] para acceder al objeto Vista. Fíjate en las dos formas que he usado para hacerlo, aunque en realidad es la misma.

Public Class WindowPruebaColega


    Private _accesoALaVista As ColegaModeloVista

    Public Sub New()
        ' Esta llamada es exigida por el diseñador.
        InitializeComponent()

        ' Agregue cualquier inicialización después de la llamada a InitializeComponent().
        _accesoALaVista = CType(Me.FindResource("ColegaModeloVistaDatos"), ColegaModeloVista)
    End Sub


    Public ReadOnly Property NombreColegaEjemploUno As String
        Get
            Return _accesoALaVista.Nombre
        End Get
    End Property


    Public ReadOnly Property NombreColegaEjemploDos As String
        Get
            Dim _accesoALaVistaEjemploDos As ColegaModeloVista
            _accesoALaVistaEjemploDos = CType(Me.FindResource("ColegaModeloVistaDatos"), ColegaModeloVista)
            Return _accesoALaVistaEjemploDos.Nombre
        End Get
    End Property


End Class


↑↑↑

1.3.3 La pantalla

La pantalla muestra únicamente un cuadro de texto vacio porque no tiene funcionalidad. En este artículo lo que interesa es ver cómo se accede al modelo vista desde el código.


↑↑↑

A.2.Enlaces

[Para saber mas]
[Grupo de documentos]
[Documento Index]
[Documento Start]
[Imprimir el Documento]
© 1997 - - La Güeb de Joaquín
Joaquín Medina Serrano
Ésta página es española

Codificación
Fecha de creación
Última actualización
[HTML5 Desarrollado usando CSS3]