2016-06-29 15 views
0

MVVMパターンをテキストボックス経由でデータベースに挿入しようとしています。実際の問題は、オブジェクトを最初にViewModelに取り込むことです。私の考えは、顧客タイプのNewCustomerをViewModelに追加してから、テキストボックスを適切なプロパティにバインドすることでした。WPF MVVMオブジェクトをテキストボックスに挿入

<Label Content="First Name:" Grid.ColumnSpan="2" Margin="10,0,325,227"/> 
<TextBox Text="{Binding NewCustomer.FirstName}" Grid.Column="1" Margin="0,31,322,227"/> 
<Label Content="Last Name:" Grid.ColumnSpan="2" Margin="10,74,325,158"/> 
<TextBox Text="{Binding NewCustomer.LastName}" Margin="10,110,325,148" Grid.ColumnSpan="2"/> 
<Label Content="Bank Balance:" Margin="10,148,325,81" Grid.ColumnSpan="2"/> 
<TextBox Text="{Binding NewCustomer.BankBalance}" Grid.Column="1" Margin="0,179,322,81"/> 
<Label Content="About me:" Margin="10,215,325,10" Grid.ColumnSpan="2"/> 
<TextBox Text="{Binding NewCustomer.AboutMe}" Grid.Column="1" Margin="0,246,322,10"/> 
<Button Margin="255,113,67,141" Content="Add" Command="{Binding AddCommand}" Grid.Column="1"> 

ViewModelに(重要な部分):

XAML:

private Customer _newCustomer; 
public Customer NewCustomer 
{ 
    get { return _newCustomer; } 
    set 
    { 
     _newCustomer = value; 
     RaisePropertyChanged("NewCustomer"); 
    } 
} 
/.../ 
public void Add(object C) 
{ 

    db.Customers.Add(NewCustomer); 
    db.SaveChanges(); 
    LoadCustomers(); 

} 

public RelayCommand AddCommand { get; set; } 
#endregion 

をしかし、何らかの理由でNewCustomerプロパティは、(デバッグを経由してチェックする)常にnullであるここでは次のようになります。

アイデア?おかげ

答えて

0

誰がそれを作成していないので、それがnullで、

使用これは、

private Customer _newCustomer = new Customer(); 

値は

それとも別の方法の後に正常にバインドする必要があり、ViewModelにコンストラクタで

を初期化します
NewCusomer = new Customer(); 
+0

今私はかなり愚かな気分です...ありがとう –

関連する問題