2017-10-14 21 views
-1

コードのプロパティを変更すると、データグリッドセルを更新したい。私のコードは モデル(エンティティ)のメインウィンドウUiコードビハインドでプロパティが更新されたときに更新されない

ここ
Vm_Purchase ItmId = new Vm_Purchase(); 
ItmId.Item_Id = Id; 

public partial class IGdaily 
{ 
    public int GDaily_Id { get; set; } 
    public int Item_Id { get; set; } 
} 

ビューモデル

public class Vm_Purchase : INotifyPropertyChanged 
{ 
    IGoldEntities db = new IGoldEntities(); 
    //public ObservableCollection<IGdaily> Vm_IGdaily { get; set; } 

    public IGdaily Obj_IGdaily { get; set; } 
    public Vm_Purchase() 
    { 
     Obj_IGdaily = new IGdaily(); 
    } 
    public Int32 Item_Id 
    { 
     get { return Obj_IGdaily.Item_Id; } 
     set 
     { 
      Obj_IGdaily.Item_Id = value; 
      NotifyPropertyChanged("Item_Id"); 
     } 
    } 
public event PropertyChangedEventHandler PropertyChanged; 
    private void NotifyPropertyChanged([CallerMemberName] string PropertyName = "") 
    { 
     if (PropertyChanged != null) 
     { 
      PropertyChanged(this, new PropertyChangedEventArgs(PropertyName)); 
     } 
    } 
} 
XAML

<iG:DataGridTextcolumn Binding="{Binding Item_Id, Mode=OneWay}" Header="Item Id" Width="SizeToHeader" /> 

私はIDを変更したいですコード、My prob lemはグリッドセルが更新されていません。私の問題を助けてください。 ObservableCollectionを使用してこれを達成できますか? ありがとう

答えて

0

与えられたコードは不完全で、私は問題が何であるか把握できません。 DataGridコントロールのItemsSourceは何ですか?そしてそれはDataGridコントロールにどのようにバインドされますか?メインウィンドウで

public partial class IGdaily : INotifyPropertyChanged 
{ 
    private int _gDailyId; 
    private int _itemId; 

    public int GDaily_Id 
    { 
     get { return _gDailyId; } 
     set 
     { 
      _gDailyId = value; 
      NotifyPropertyChanged(); 
     } 
    } 

    public int Item_Id 
    { 
     get { return _itemId; } 
     set 
     { 
      _itemId = value; 
      NotifyPropertyChanged(); 
     } 
    } 

    public event PropertyChangedEventHandler PropertyChanged; 

    private void NotifyPropertyChanged([CallerMemberName] string PropertyName = "") 
    { 
     if (PropertyChanged != null) 
     { 
      PropertyChanged(this, new PropertyChangedEventArgs(PropertyName)); 
     } 
    } 
} 

public partial class MainWindow : Window 
{ 
    public ObservableCollection<IGdaily> Vm_IGdaily { get; } = new ObservableCollection<IGdaily>(); 
    private IGdaily testData = new IGdaily(); 

    public MainWindow() 
    { 
     InitializeComponent(); 

     TheDataGridControl.ItemsSource = Vm_IGdaily; 
     Vm_IGdaily.Add(testData); 
    } 

    private void Button1_OnClick(object sender, RoutedEventArgs e) 
    { 
     testData.GDaily_Id = 100; 
    } 
} 
+0

私は(のItemsSource = "{バインディングIGdaily}")結合データグリッドとしてIGdailyを使用 –

+0

'のItemsSource:

次のコードは、あなたが探しているものであってもよいです'コレクションでなければなりません。 – Iron

関連する問題