Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
982 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Passage de valeur d'un model à son viewmodel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Passage de valeur d'un model à son viewmodel

n°2322301
berduf
Posté le 15-10-2018 à 13:54:35  profilanswer
 

Bonjour à tous
Je m'auto forme sur C# et MVVM. Je réalise une application pour tester mes connaissances (elles sont maigres je l'avoue).
Dans cette application je dispose d'un datagrid dans lequel l'utilisateur peut entrer des informations. La validation de l'entrée entraîne, par l'intermédiaire d'un Model "CollectionEntree" l'enregistrement des données dans une base. Ce même Model appelle un autre Model "Calcul" qui effectue la somme des montants de toutes les entrées. Le montant doit enfin apparaître dans un textblock "TextEntree".
Tout fonctionne bien sauf l'affichage de la valeur.
Après avoir mis des points d'arrêt dans mon code je me suis aperçu que mon programme ne repasse pas par le ViewModel après un nouveau calcul et malgré beaucoup de recherches et d'essais, rien à faire ça ne marche pas.
Pourriez vous m'aider sil vous plait.
Merci d'avance.
Je vous fourni les codes de la vue, des deux model et du viewmodel:
 
La VUE:
 

Code :
  1. <Window
  2.         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3.         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4.         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5.         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6.         xmlns:local="clr-namespace:Compte_Bancaire"
  7.         xmlns:ViewModel="clr-namespace:Compte_Bancaire.ViewModel" x:Name="Window" x:Class="Compte_Bancaire.MainWindow"
  8.         mc:Ignorable="d"
  9.      
  10.         Title="COMPTE BANCAIRE" Height="450" Width="800" WindowState="Maximized" FontFamily="Comic Sans MS"  WindowStartupLocation="CenterScreen"
  11.         Icon="/Compte Bancaire;component/Images/compte-bancaire.jpg"
  12.         DataContext="{Binding Source={StaticResource ServiceLocator} ,Path=MainViewModel}">
  13.     <Window.Resources>
  14.         <SolidColorBrush x:Key="TextResultat" Color="#FF0D44A6"/>
  15.     </Window.Resources>
  16.     <Grid>
  17.         <TabControl x:Name="TabControlGeneral" Margin="0" Foreground="#FF406097" BorderBrush="{DynamicResource TextColor}" FontStyle="Italic">
  18.             <TabItem x:Name="TabItemFeuilleCompte" Header="FEUILLE DE COMPTE" Foreground="{DynamicResource TextColor}">
  19.                 <Grid>
  20.                     <Grid.Background>
  21.                         <ImageBrush  Stretch="UniformToFill" Opacity="0.2" ImageSource="/Compte Bancaire;component/Images/compte-bancaire.jpg"/>
  22.                     </Grid.Background>
  23.                     <Grid.ColumnDefinitions>
  24.                         <ColumnDefinition Width="200"/>
  25.                         <ColumnDefinition Width="400"/>
  26.                         <ColumnDefinition Width="300*"/>
  27.                     </Grid.ColumnDefinitions>
  28.                     <Grid.RowDefinitions>
  29.                         <RowDefinition Height="40"/>
  30.                         <RowDefinition Height="*"/>
  31.                         <RowDefinition Height="*"/>
  32.                         <RowDefinition Height="10"/>
  33.                     </Grid.RowDefinitions>
  34.                     <StackPanel x:Name="BrdMenu" Grid.RowSpan="3" Grid.Row="1" Background="{DynamicResource FondBarre}">
  35.                         <Expander x:Name="ExpandAnnee" Header="ANNEE" Style="{Binding Mode=OneWay, Source={StaticResource ExpanderMenu}}"  Foreground="{DynamicResource TextColor}" Margin="5" FontStyle="Italic" FontSize="11" IsExpanded="{Binding ExpandAnnee}" Cursor="Hand">
  36.                             <StackPanel>
  37.                                 <ListBox x:Name="ListAnnee" FontWeight="Normal" Foreground="{DynamicResource TextColor}" Background="{x:Null}" BorderBrush="{x:Null}" Margin="0,0,5,0" Padding="0" ItemsSource="{Binding Annee}" DisplayMemberPath="NomAnnee" SelectedItem="{Binding AnneeSelectionne}" Cursor="Hand" />
  38.                             </StackPanel>
  39.                         </Expander>
  40.                         <Expander x:Name="ExpandMois" Header="MOIS" Style="{Binding Mode=OneWay, Source={StaticResource ExpanderMenu}}"  Foreground="{DynamicResource TextColor}" Margin="5,0,5,5" FontSize="11" FontStyle="Italic" Cursor="Hand" IsExpanded="{Binding ExpandMois}" >
  41.                             <StackPanel >
  42.                                 <ListBox x:Name="ListMois" FontWeight="Normal" Foreground="{DynamicResource TextColor}" Background="{x:Null}" BorderBrush="{x:Null}" Margin="0,0,5,0" Padding="0"  Cursor="Hand" ItemsSource="{Binding Mois}" DisplayMemberPath="Nom" SelectedItem="{Binding MoisSelectionne}" />
  43.                             </StackPanel>
  44.                         </Expander>
  45.                         <Button x:Name="BtnTransfert" Background="{x:Null}" BorderBrush="{DynamicResource TextColor}" Foreground="{DynamicResource TextColor}" Margin="0,10"  Height="30" Width="120" Style="{DynamicResource ButtonStyle1}" Cursor="Hand" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center">
  46.                             <StackPanel Orientation="Horizontal">
  47.                                 <Image  Width="25" Height="25" HorizontalAlignment="Center" Margin="0,0,5,0" Stretch="UniformToFill" VerticalAlignment="Center" Source="/Compte Bancaire;component/Images/Tranfert.ico" ></Image>
  48.                                 <Label Foreground="{DynamicResource TextColor}" Content="Transfert" HorizontalAlignment="Center" VerticalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" ></Label>
  49.                             </StackPanel>
  50.                         </Button>
  51.                         <GroupBox x:Name="GroupResultat" Margin="5" Header="OPERATIONS" BorderThickness="1" SnapsToDevicePixels="True" ClipToBounds="True" BorderBrush="{DynamicResource TextColor}">
  52.                             <StackPanel x:Name="StackResultats">
  53.                                 <GroupBox x:Name="GroupReliquat" Header="{Binding TitreReliquat}" Margin="5,5,5,0" Foreground="{DynamicResource TextResultat}" BorderBrush="{DynamicResource TextColor}" BorderThickness="2">
  54.                                     <GroupBox.Background>
  55.                                         <SolidColorBrush Color="#FF20B608" Opacity="0.15"/>
  56.                                     </GroupBox.Background>
  57.                                     <TextBlock x:Name="TextReliquat" FontSize="16" Margin="5,10" Text="1000" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="{DynamicResource TextValeurPositive}" FontStyle="Italic" FontWeight="Bold"/>
  58.                                 </GroupBox>
  59.                                 <GroupBox x:Name="GroupEntree" FontSize="11" Header="Total des entrées" Margin="5,10,5,0" Foreground="{DynamicResource TextColor}" BorderBrush="{DynamicResource TextColor}" >
  60.                                     <TextBlock x:Name="TextEntree" FontSize="14" Margin="5,10" Text="{Binding ResultatEntree/SumEntree, StringFormat=0.00;#}"  HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="{DynamicResource TextColor}" FontStyle="Italic" Background="{x:Null}" >
  61.                                         <TextBlock.DataContext>
  62.                                             <ViewModel:MainViewModel/>
  63.                                         </TextBlock.DataContext>
  64.                                     </TextBlock>
  65.                                 </GroupBox>
  66.                                 <GroupBox x:Name="GroupMensualisation" FontSize="11" Header="Total des mensualisations" Margin="5,5,5,0" BorderBrush="{DynamicResource TextColor}" >
  67.                                     <TextBlock x:Name="TextMensualisation" FontSize="14" Margin="5,10" Text="1000" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="{DynamicResource TextColor}" FontStyle="Italic"/>
  68.                                 </GroupBox>
  69.                                 <GroupBox x:Name="GroupDepense" FontSize="11" Header="Total des dépenses" Margin="5,5,5,0" BorderBrush="{DynamicResource TextColor}" >
  70.                                     <TextBlock x:Name="TextDepense" FontSize="14" Margin="5,10" Text="1000" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="{DynamicResource TextColor}" FontStyle="Italic"/>
  71.                                 </GroupBox>
  72.                                 <GroupBox x:Name="GroupReste" Header="{Binding TitreSolde}" Margin="5,10,5,0" Foreground="{DynamicResource TextResultat}" BorderBrush="{DynamicResource TextColor}" BorderThickness="3" FontWeight="Bold" >
  73.                                     <GroupBox.Background>
  74.                                         <SolidColorBrush Color="#FFF7210B" Opacity="0.15"/>
  75.                                     </GroupBox.Background>
  76.                                     <TextBlock x:Name="TextSolde" FontSize="20" Margin="5,10" Text="-25" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="{DynamicResource TextValeurNegative}" FontStyle="Italic" FontWeight="Bold"/>
  77.                                 </GroupBox>
  78.                             </StackPanel>
  79.                         </GroupBox>
  80.                     </StackPanel>
  81.                     <Border x:Name="BrdIconeTitre" >
  82.                         <Border.Background>
  83.                             <SolidColorBrush Color="#FFA6BCCF" Opacity="0.8"/>
  84.                         </Border.Background>
  85.                         <Image Width="40" Height="40" Margin="5,0,20,0" Source="/Compte Bancaire;component/Images/FeuilleCompte.png"/>
  86.                     </Border>
  87.                     <Border x:Name="BrdTitre" Grid.Column="1" Grid.ColumnSpan="3" >
  88.                         <Border.Background>
  89.                             <SolidColorBrush Color="#FFA6BCCF" Opacity="0.8"/>
  90.                         </Border.Background>
  91.                         <Label x:Name="LabTitre" Foreground="{DynamicResource TextColor}" Margin="5,0" FontSize="20" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontWeight="Bold" IsEnabled="False" Content="{Binding TitrePage}"/>
  92.                     </Border>
  93.                     <Border x:Name="BrdEntree" Grid.Row="1" Grid.Column="1" >
  94.                         <Border.Background>
  95.                             <SolidColorBrush Color="#FFA6BCCF" Opacity="0.2"/>
  96.                         </Border.Background>
  97.                         <ContentControl x:Name="ContentEntree" Content="{Binding FeuilleEntree}"/>
  98.                     </Border>
  99.                     <Border x:Name="BrdMensualisation" Grid.Row="2" Grid.Column="1">
  100.                         <Border.Background>
  101.                             <SolidColorBrush Color="#FFA6BCCF" Opacity="0.2"/>
  102.                         </Border.Background>
  103.                         <ContentControl x:Name="ContentMensualisation" Content="{Binding FeuilleMensualisation}" />
  104.                     </Border>
  105.                     <Border x:Name="BrdDepense" Grid.Row="1" Grid.Column="2" Grid.RowSpan="2">
  106.                         <Border.Background>
  107.                             <SolidColorBrush Color="#FFA6BCCF" Opacity="0.2"/>
  108.                         </Border.Background>
  109.                         <ContentControl x:Name="ContentDepense" Content="{Binding FeuilleDepense}" />
  110.                     </Border>
  111.                 </Grid>
  112.             </TabItem>
  113.             <TabItem x:Name="TabItemCheque" Header="CHEQUES" Foreground="{DynamicResource TextColor}">
  114.                 <Grid>
  115.                     <Grid.Background>
  116.                         <ImageBrush  Opacity="0.3" Stretch="UniformToFill" ImageSource="/Compte Bancaire;component/Images/cheque3.jpg"/>
  117.                     </Grid.Background>
  118.                 </Grid>
  119.             </TabItem>
  120.         </TabControl>
  121.     </Grid>
  122. </Window>


 
MODEL "CollectionEntree":
 

Code :
  1. using GestionComptes.DAL;
  2. using System.ComponentModel;
  3. using System.Linq;
  4. namespace Compte_Bancaire.Models
  5. {
  6.     public class CollectionEntree : INotifyPropertyChanged
  7.     {
  8.         public event PropertyChangedEventHandler PropertyChanged;
  9.         #region Variables
  10.         private string NomBase= "BddOperationMensuelle.mdf";
  11.         #endregion
  12.         #region Constructeur
  13.         public CollectionEntree()
  14.         {
  15.         }
  16.         #endregion
  17.         #region Propriétés
  18.         private bool changementEntree = false;
  19.         public bool ChangementEntree
  20.         {
  21.             set
  22.             {
  23.                 changementEntree = value;
  24.                 if (PropertyChanged != null)
  25.                 {
  26.                     OnPropertyChanged("ChangementEntree" );
  27.                 }
  28.             }
  29.             get
  30.             {
  31.                 return changementEntree;
  32.             }
  33.         }
  34.         private bool validEntree ;
  35.         public bool ValidEntree
  36.         {
  37.             set
  38.             {
  39.                 validEntree = value;
  40.                 if (PropertyChanged != null)
  41.                 {
  42.                     OnPropertyChanged("ValidEntree" );
  43.                 }
  44.             }
  45.             get
  46.             {
  47.                 return validEntree;
  48.             }
  49.         }
  50.         private string operationEntree;
  51.         public string OperationEntree
  52.         {
  53.             set
  54.             {
  55.                 operationEntree = value;
  56.                 if (PropertyChanged != null)
  57.                 {
  58.                     OnPropertyChanged("OperationEntree" );
  59.                 }
  60.             }
  61.             get
  62.             {
  63.                 return operationEntree;
  64.             }
  65.         }
  66.         private decimal creditEntree;
  67.         public decimal CreditEntree
  68.         {
  69.             set
  70.             {
  71.                 creditEntree = value;
  72.                 if (PropertyChanged != null)
  73.                 {
  74.                     OnPropertyChanged("CreditEntree" );
  75.                 }
  76.             }
  77.             get
  78.             {
  79.                 return creditEntree;
  80.             }
  81.         }
  82.         private int cleEntree;
  83.         public int CleEntree
  84.         {
  85.             set
  86.             {
  87.                 cleEntree = value;
  88.                 if (PropertyChanged != null)
  89.                 {
  90.                     OnPropertyChanged("CleEntree" );
  91.                 }
  92.             }
  93.             get
  94.             {
  95.                 return cleEntree;
  96.             }
  97.         }
  98.         #endregion
  99.         #region Méthodes
  100.         private void OnPropertyChanged(string propertyName)
  101.         {
  102.             BddContext BddOperationMensuelle = new BddContext(NomBase);
  103.             // Enregistrement d'une nouvelle opération
  104.             if (CleEntree==0 && OperationEntree!=null && CreditEntree!=0)
  105.             {
  106.                 var NewEntree = new Entree();
  107.                 {
  108.                     NewEntree.Validation = ValidEntree;
  109.                     NewEntree.Operation = OperationEntree;
  110.                     NewEntree.Credit = CreditEntree;
  111.                 }
  112.                 BddOperationMensuelle.Entrees.Add(NewEntree);
  113.                 BddOperationMensuelle.SaveChanges();
  114.             }
  115.             Calcul calcul = new Calcul();
  116.            
  117.            
  118.         }
  119.         #endregion
  120.     }
  121. }


 
le MODEL "Calcul":
 

Code :
  1. using System.ComponentModel;
  2. using System.Linq;
  3. namespace Compte_Bancaire.Models
  4. {
  5.     public class Calcul : INotifyPropertyChanged
  6.     {
  7.         public event PropertyChangedEventHandler PropertyChanged;
  8.         public Calcul()
  9.         {
  10.             GetTotalEntree();
  11.         }
  12.         #region Propriétés
  13.         private decimal sumEntree = 0;
  14.         public decimal SumEntree
  15.         {
  16.             set
  17.             {
  18.                 if (sumEntree != value)
  19.                 {
  20.                     sumEntree = value;
  21.                     if (PropertyChanged != null)
  22.                     {
  23.                     OnPropertyChanged("SumEntree" );
  24.                     }
  25.                 }
  26.             }
  27.             get
  28.             {
  29.                 return sumEntree;
  30.             }
  31.         }
  32.         #endregion
  33.         #region Méthodes pour les différents calculs
  34.         public void GetTotalEntree()
  35.         {
  36.             BddContext Bdd = new BddContext("BddOperationMensuelle.mdf" );
  37.             SumEntree = Bdd.Entrees.Select(c => c.Credit).Sum();
  38.         }
  39.         protected virtual void OnPropertyChanged(string propertyName)
  40.         {
  41.             PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
  42.         }
  43.         #endregion
  44.     }
  45. }


 
et enfin le VIEWMODEL:
 

Code :
  1. using Compte_Bancaire.Models;
  2. using Compte_Bancaire.Models.Service;
  3. using GalaSoft.MvvmLight;
  4. using System;
  5. using System.Collections.ObjectModel;
  6. using System.Collections.Specialized;
  7. using System.Windows;
  8. namespace Compte_Bancaire.ViewModel
  9. {
  10.    
  11.     public class MainViewModel : ViewModelBase
  12.     {
  13.         #region Variables
  14.         public int MoisEnCours;
  15.         public string AnneeEnCours;
  16.         public Calcul SommeEntree;
  17.         #endregion
  18.         #region Constructeur
  19.         public MainViewModel()
  20.         {
  21.             // Remplissage de l'observablecollection pour les mois
  22.             Mois = new ObservableCollection<ListeDesMois>(ServiceMoisEtAnnee.GetMois());
  23.             Annee = new ObservableCollection<ListeDesAnnee>(ServiceMoisEtAnnee.GetAnnee());
  24.             ItemEntree = new ObservableCollection<CollectionEntree>();
  25.             // Résultats des calculs
  26.             Calcul calcul = new Calcul();
  27.             ResultatEntree = new ObservableCollection<Calcul>()
  28.             {
  29.             new Calcul{SumEntree=calcul.SumEntree }
  30.             };
  31.             //ResultatEntree.CollectionChanged += ResultatEntree_CollectionChanged;
  32.             //Mise en place du mois et de l'année en cours
  33.             MoisAnneeEnCours LaDate = new MoisAnneeEnCours();
  34.             MoisEnCours = LaDate.MoisEnCours;
  35.             AnneeEnCours = LaDate.AnneeEnCours;
  36.             MoisSelectionneMethode();
  37.             // Affichage des usercontrol
  38.             FeuilleEntree = new Views.UcEntree();
  39.             FeuilleMensualisation = new Views.UcMensualisation();
  40.             FeuilleDepense = new Views.UcDepense();
  41.         }
  42.        
  43.         #endregion
  44.         #region Propriétés
  45.         // Gestion des usercontrol à afficher dans la page
  46.         public UIElement FeuilleEntree { get; set; }
  47.         public UIElement FeuilleMensualisation { get; set; }
  48.         public UIElement FeuilleDepense { get; set; }
  49.         // Observablecollection pour les entrées
  50.         private ObservableCollection<CollectionEntree> itemEntree;
  51.         public ObservableCollection<CollectionEntree> ItemEntree
  52.         {
  53.             set
  54.             {
  55.                 itemEntree = value;
  56.                 RaisePropertyChanged("ItemEntree" );
  57.             }
  58.             get
  59.             {
  60.                 return itemEntree;
  61.             }
  62.         }
  63.         // Obsevablecollection pour la liste des mois
  64.         private ObservableCollection<ListeDesMois> mois;
  65.         public ObservableCollection<ListeDesMois> Mois
  66.         {
  67.             set
  68.             {
  69.                 mois = value;
  70.                 RaisePropertyChanged("Mois" );
  71.             }
  72.             get
  73.             {
  74.                 return mois;
  75.             }
  76.         }
  77.         // Obsevablecollection pour la liste des année
  78.         private ObservableCollection<ListeDesAnnee> annee;
  79.         public ObservableCollection<ListeDesAnnee> Annee
  80.         {
  81.             set
  82.             {
  83.                 annee = value;
  84.                 RaisePropertyChanged("Annee" );
  85.             }
  86.             get
  87.             {
  88.                 return annee;
  89.             }
  90.         }
  91.         // Gestion expander Mois
  92.         private bool expandMois;
  93.         public bool ExpandMois
  94.         {
  95.             set
  96.             {
  97.                 expandMois = value;
  98.                 RaisePropertyChanged("ExpandMois" );
  99.             }
  100.             get
  101.             {
  102.                 return expandMois;
  103.             }
  104.         }
  105.         // Gestion expander Année
  106.         private bool expandAnnee;
  107.         public bool ExpandAnnee
  108.         {
  109.             set
  110.             {
  111.                 expandAnnee = value;
  112.                 RaisePropertyChanged("ExpandAnnee" );
  113.             }
  114.             get
  115.             {
  116.                 return expandAnnee;
  117.             }
  118.         }
  119.         // Ecriture du titre de la page
  120.         private string titrePage;
  121.         public string TitrePage
  122.         {
  123.             set
  124.             {
  125.                 titrePage = value;
  126.                 RaisePropertyChanged("TitrePage" );
  127.             }
  128.             get
  129.             {
  130.                 return titrePage;
  131.             }
  132.         }
  133.         // Ecriture du titre reliquat
  134.         private string titreReliquat;
  135.         public string TitreReliquat
  136.         {
  137.             set
  138.             {
  139.                 titreReliquat = value;
  140.                 RaisePropertyChanged("TitreReliquat" );
  141.             }
  142.             get
  143.             {
  144.                 return titreReliquat;
  145.             }
  146.         }
  147.         // Ecriture du titre solde
  148.         private string titreSolde;
  149.         public string TitreSolde
  150.         {
  151.             set
  152.             {
  153.                 titreSolde = value;
  154.                 RaisePropertyChanged("TitreSolde" );
  155.             }
  156.             get
  157.             {
  158.                 return titreSolde;
  159.             }
  160.         }
  161.         #region Sélection mois et année
  162.         // Gestion de la sélection d'un mois
  163.         private ListeDesMois moisSelectionne;
  164.         public ListeDesMois MoisSelectionne
  165.         {
  166.             set
  167.             {
  168.                 moisSelectionne = value;
  169.                 RaisePropertyChanged("MoisSelectionne" );
  170.                 MoisSelectionneMethode();
  171.             }
  172.             get
  173.             {
  174.                 return moisSelectionne;
  175.             }
  176.         }
  177.         // Gestion de la sélection d'une année
  178.         private ListeDesAnnee anneeSelectionne;
  179.         public ListeDesAnnee AnneeSelectionne
  180.         {
  181.             set
  182.             {
  183.                     anneeSelectionne = value;
  184.                     RaisePropertyChanged("AnneeSelectionne" );
  185.                     MoisSelectionneMethode();
  186.             }
  187.             get
  188.             {
  189.                 return anneeSelectionne;
  190.             }
  191.         }
  192.         #endregion
  193.         #region Résultats des différents calculs
  194.         private ObservableCollection<Calcul> resultatEntree;
  195.         public ObservableCollection<Calcul> ResultatEntree
  196.         {
  197.             set
  198.             {
  199.                 if (value == resultatEntree)
  200.                 {
  201.                     ResultatEntree.CollectionChanged -= ResultatEntree_CollectionChanged;
  202.                 }
  203.                 if (resultatEntree != value)
  204.                 {
  205.                     resultatEntree = value;
  206.                     ResultatEntree.CollectionChanged += ResultatEntree_CollectionChanged;
  207.                 }
  208.                 RaisePropertyChanged("ResultatEntree" );
  209.             }
  210.             get
  211.             {
  212.                 return resultatEntree;
  213.             }
  214.         }
  215.         #endregion
  216.         #endregion
  217.         #region Méthodes
  218.         // Méthode activée lors de la sélection d'un mois
  219.         private void MoisSelectionneMethode()
  220.         {
  221.             ExpandMois = false; // Fermeture de l'expander mois
  222.             ExpandAnnee = false; // Fermeture de l'expander mois
  223.             if (moisSelectionne != null) // Un mois a été sélectionné dans la liste
  224.             {
  225.                 if (anneeSelectionne != null)
  226.                 {
  227.                     TitrePage = MoisSelectionne.Ecriture + " " + AnneeSelectionne.NomAnnee;
  228.                 }
  229.                 else
  230.                 {
  231.                     TitrePage = MoisSelectionne.Ecriture + " " + AnneeEnCours;
  232.                 }
  233.                 TitreReliquat = MoisSelectionne.Reliquat;
  234.                 TitreSolde = "SOLDE " + (MoisSelectionne.Nom).ToUpper();
  235.             }
  236.             else // Sinon on travail avec le mois en cours
  237.             {
  238.                 TitrePage = Mois[MoisEnCours - 1].Ecriture + " " + AnneeEnCours;
  239.                 TitreReliquat = Mois[MoisEnCours - 1].Reliquat;
  240.                 TitreSolde = "SOLDE " + (Mois[MoisEnCours - 1].Nom).ToUpper();
  241.             }
  242.         }
  243.         private void ResultatEntree_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
  244.         {
  245.             Calcul calcul = new Calcul();
  246.             ResultatEntree = new ObservableCollection<Calcul>()
  247.             {
  248.             new Calcul{SumEntree=calcul.SumEntree }
  249.             };
  250.         }
  251.         #endregion
  252.     }
  253. }

mood
Publicité
Posté le 15-10-2018 à 13:54:35  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Passage de valeur d'un model à son viewmodel

 

Sujets relatifs
informer le viewmodel d'un changement dans le modelCopier coller valeur sur deux feuille avec conditions
(Projet) Rappel de valeur d'un fichier variableSQL Créer une vue avec Nom Champs et Valeur dans des enregistrements
RemerciementComment affecter une valeur quelconque à une variable?
Modifier valeur cellule Excel en VBA Access[PHP] stocker valeur d'un iframe dans unfichier
[résolu]SQL afficher valeur d'une ligne en fonction d'une condition 
Plus de sujets relatifs à : Passage de valeur d'un model à son viewmodel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR