2011-12-21 8 views
0

私のPropertyChangedは、初期バインディングで正しく動作するDatagridにバインドされていないページにあるすべてのオブジェクトに対して正常に動作していますが、バインドされたプロパティPropertyChangedは、データグリッドの初期バインディングの後にnullを返します

ObservableCollectionを使用しようとしたところ、同じ結果が得られました。

<DataGrid AutoGenerateColumns="False" Height="263" HorizontalAlignment="Left" Margin="50,120,0,0" ItemsSource="{Binding Files}" Name="dg_Display" VerticalAlignment="Top" Width="313"> 
     <DataGrid.Columns> 
      <DataGridTextColumn Binding="{Binding FileName}" Header="File Name" /> 
      <DataGridTextColumn Binding="{Binding Date}" Header="Date" /> 
      <DataGridCheckBoxColumn Binding="{Binding Stack}" Header="Stack" /> 
     </DataGrid.Columns> 
</DataGrid> 
private List<StackModel.Display> m_files; 
public List<StackModel.Display> Files 
{ 
    get { return m_files ?? (m_files = StackModel.ListFiles(Path)); } 
    set 
    { 
     m_files = value; 
     if (PropertyChanged != null) 
     { 
      PropertyChanged(this, new PropertyChangedEventArgs("Files")); 
     } 
    } 
} 
private DelegateCommand m_directory; 
public ICommand DirectoryCommand { get { return m_directory ?? (m_directory = new DelegateCommand(Directory)); } } 

private void Directory() 
{ 
    Files = StackModel.ListFiles(Path); 
} 
public List<Display> ListFiles(string path) 
{ 
    DirectoryInfo dir = new DirectoryInfo(path); 
    FileInfo[] files = dir.GetFiles("*.xlsx"); 

    return files.Select(fileEntry => new Display {Date = fileEntry.LastWriteTime, FileName = fileEntry.Name, Stack = true}).ToList(); 
} 
+0

プロパティを変更またはリセットしているコードを表示できますか? – slugster

答えて

2

あなたの問題はそれが負荷にすべてのデータであり、私は理解な限り

public List<StackModel.Display> Files 
{ 
    .. 
} 

使用

public ObservableCollection<StackModel.Display> Files 
{ 
    .. 
} 

の代わりに試してみてくださいコレクションに存在するものは正しく読み込まれますが、そのコレクションを消去した後に、その変更がUIに与える影響はありません。

ObservableCollectionこの問題を解決する必要があります。

する必要があります。

+0

*これを忘れてしまった、私の間違い。私は同様の問題としてObservableCollectionでこれを試しました。 私は合理的には、問題はプロパティに加入者がないということです。 – SeanVDH

+0

@SeanVDH:どのようにFilesプロパティを変更しますか? .. – Tigran

+0

最後の編集が表示されます、それは新しい値にプロパティを設定する単純なケースです – SeanVDH

関連する問題