none
MVVM c# como hacer el binding a un userControl RRS feed

  • Pregunta

  • Hola Buenos dias

    Cree el siguiente UserControl

    <UserControl x:Class="WpfAppArrastrarSoltar.UCtrlEmployee"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
                 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
                 xmlns:local="clr-namespace:WpfAppArrastrarSoltar"
                 mc:Ignorable="d" 
                 d:DesignHeight="142" d:DesignWidth="100">
        <Grid Background="Red" Name="EmployeeBadge">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="100"></ColumnDefinition>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="19"></RowDefinition>
                <RowDefinition Height="80"></RowDefinition>
                <RowDefinition Height="19"></RowDefinition>
                <RowDefinition Height="19"></RowDefinition>
            </Grid.RowDefinitions>
            <Grid Grid.Row="0" Grid.Column="0" >
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="50"></ColumnDefinition>
                    <ColumnDefinition Width="50"></ColumnDefinition>
                </Grid.ColumnDefinitions>
                <Label Name="LblCheck" Content="Checada:" Grid.Column="0" FontSize="9" VerticalContentAlignment = "Stretch" HorizontalAlignment="Left"/>
                <Label Name="LblTimeWorked" Content="00:00:00" Grid.Column="1" FontSize="9" VerticalContentAlignment ="Stretch" HorizontalAlignment ="Right"></Label>
            </Grid>
            <Image Name="PicEmployee" Height="80" Width="100" Grid.Row="1" Grid.Column="0" VerticalAlignment="Top" Source="Images/yo.jpg"/>
            <Label Name="LblSapId" Width="100" Content="SapId:" Grid.Row="2" FontSize="9" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Center"></Label>
            <Label Name="LblCertification" Width="100" Content="Certification:" Grid.Row="3" Grid.Column="0" FontSize="9" VerticalContentAlignment ="Stretch" HorizontalContentAlignment="Center" ></Label>
        </Grid>
    </UserControl>
    


    ahora cree el modelo

    namespace WpfAppArrastrarSoltar.Models
    {
        public class Employee
        {
            public List<Byte> Picture { get; set; }
            public string Name { get; set; }
            public string LastName { get; set; }
            public string SecondLastName { get; set; }
            public string SapId { get; set; }
            public string Certification { get; set; }
            public DateTime Check { get; set; }
            public TimeSpan TimeWorked { get; set; }
        }
    }
    


    y por ultimo el viewModel el Pattern

    namespace WpfAppArrastrarSoltar.ViewModels
    {
        public class PatternViewModel : INotifyPropertyChanged
        {
            public event PropertyChangedEventHandler PropertyChanged;
            protected void OnPropertyChanged(string propertyName)
            {
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
            }
        }
    }

    y el vewModelEmployeeBadge

    namespace WpfAppArrastrarSoltar.ViewModels
    {
        public class EmployeeBadgeViewModel : PatternViewModel
        {
            private Employee employee;
    
            public DateTime Check
            {
                set
                {
                    employee.Check = value;
                    base.OnPropertyChanged("Check");
                }
                get
                {
                    return employee.Check;
                }
            }
        }
    }

    como lo enlazo a la vista tanto que se actualice la vista si cambia la propiedad y que se atualize la propiedad si se cambia la vista

    miércoles, 7 de noviembre de 2018 17:57

Todas las respuestas

  • Hola  niqel

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, para darte una mejor atención es necesario que nos brindes de favor un poco más de información acerca del problema que tienes.

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     ____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    miércoles, 7 de noviembre de 2018 21:13
    Moderador
  • okey intentare ser mas claro, en mi vista mainwindows.xaml es la vista por default que crea wpf

    tengo esta etiqueta

    <Window.DataContext>
            <ViewModel:PersonaViewModel />
        </Window.DataContext>

    que es la utilizo para enlazar mi viewModel a la vista

    pero yo cree un UserControl y el user control no tiene esa etiqueta como enlazo mi view Model

    pense en esa misma etiqueta pero no me dice que lo puede recibir uno

    jueves, 8 de noviembre de 2018 14:40