2017-08-29 1 views
0

Ich habe eine Teilklasse von EntityFramework Called GewichteNeue Objekte eine zweite Teil Klasse unverbindlich

public partial class Weights 
{ 
    public long WeightID { get; set; } 
    public Nullable<long> ClientID { get; set; } 
    public Nullable<long> SiteID { get; set; } 
    public Nullable<long> DriverID { get; set; } 
    public Nullable<long> CarID { get; set; } 
    public Nullable<double> Weight1 { get; set; } 
    public Nullable<double> Weight2 { get; set; } 
    public bool IsCancel { get; set; } 
    public bool IsEdit { get; set; } 
    public bool IsManual { get; set; } 
    public Nullable<System.DateTime> DateTime1 { get; set; } 
    public Nullable<System.DateTime> DateTime2 { get; set; } 
    public Nullable<long> MaterialID { get; set; } 
    public bool IsClosed { get; set; } 
    public string Waybill { get; set; } 
    public Nullable<double> Netto { get; set; } 
    public Nullable<bool> Passage { get; set; } 

    public virtual Cars Cars { get; set; } 
    public virtual Clients Clients { get; set; } 
    public virtual Drivers Drivers { get; set; } 
    public virtual Materials Materials { get; set; } 
    public virtual Sites Sites { get; set; } 
} 

jetzt erstellt ich eine andere Teilgewichte Klasse, die ich INotifyPropertyChanged implementieren und fügen datetimefrom und datetimeto Eigenschaften mit Eigenschaftsänderung

public partial class Weights : INotifyPropertyChanged 
{ 
    private Nullable<System.DateTime> DateTimeFrom; 
    public Nullable<System.DateTime> L_DateTimeFrom 
    { 
     get { return DateTimeFrom; } 
     set 
     { 
      DateTimeFrom = value; 
      NotifyPropertyChanged("DateTimeFrom"); 
     } 
    } 

    private Nullable<System.DateTime> DateTimeTo; 
    public Nullable<System.DateTime> L_DateTimeTo 
    { 
     get { return DateTimeTo; } 
     set 
     { 
      DateTimeTo = value; 
      NotifyPropertyChanged("DateTimeTo"); 
     } 
    } 

    #region "PropertyEvent Change" 
    public event PropertyChangedEventHandler PropertyChanged; 
    private void NotifyPropertyChanged(String info) 
    { 
     if (PropertyChanged != null) 
     { 
      PropertyChanged(this, new PropertyChangedEventArgs(info)); 
     } 
    } 
    #endregion 
} 

i ein Ansichtsmodell mit Gewicht Eigenschaft Filter erstellt haben auch INotifyPropertyChanged

public class ClosedWeightsViewModel : INotifyPropertyChanged 
{ 
    private Weights m_filter; 
    public Weights Filter 
    { 
     get { return m_filter; } 
     set 
     { 
      m_filter = value; 
      NotifyPropertyChanged("Filter"); 
     } 
    } 

    #region "PropertyEvent Change" 
    public event PropertyChangedEventHandler PropertyChanged; 
    private void NotifyPropertyChanged(String info) 
    { 
     if (PropertyChanged != null) 
     { 
      PropertyChanged(this, new PropertyChangedEventArgs(info)); 
     } 
    } 
    #endregion 

} 
implementieren

in der XAML-i 2 Kalenderwerkzeug erstellt haben und sie datetimefrom binden/zu

<StackPanel Orientation="Vertical" VerticalAlignment="Bottom"> 
       <DatePicker x:Name="dateForm" SelectedDate="{Binding Filter.DateTimeFrom, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" SelectedDateChanged="DatePicker_SelectedDateChanged"/> 
       <DatePicker x:Name="dateTo" SelectedDate="{Binding Filter.DateTimeTo, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" SelectedDateChanged="DatePicker_SelectedDateChanged"/> 
      </StackPanel> 

Aber es ist nicht verbindlich, wenn ich ein Datum Auswahl bin. Die Bindung anderer Eigenschaften funktioniert super (CarID, DriverID etc.)

Was fehlt mir?

+1

Eigenschaftsname ist 'L_DateTimeFrom', nicht' DateTimeFrom'. 'DateTimeFrom' ist * private * und * field *, daher kann nicht auf Binding zugegriffen werden. 'NotifyPropertyChanged (" DateTimeFrom ");' sollte auch 'NotifyPropertyChanged (" L_DateTimeFrom ") sein;' – ASh

Antwort

0

Ihre Eigenschaften heißen L_DateTimeFrom und L_DateTimeTo. Sie sollten sie umbenennen:

private Nullable<System.DateTime> _dateTimeFrom; 
public Nullable<System.DateTime> DateTimeFrom 
{ 
    get { return _dateTimeFrom; } 
    set 
    { 
     _dateTimeFrom = value; 
     NotifyPropertyChanged("DateTimeFrom"); 
    } 
} 

private Nullable<System.DateTime> _dateTimeTo; 
public Nullable<System.DateTime> DateTimeTo 
{ 
    get { return _dateTimeTo; } 
    set 
    { 
     _dateTimeTo = value; 
     NotifyPropertyChanged("DateTimeTo"); 
    } 
} 
+0

@ user7925257: Bitte denken Sie daran, die hilfreichen Antworten zu wählen: https://stackoverflow.com/help/someone-answers – mm8

Verwandte Themen