2017-01-11 19 views
0

データグリッドを持つC#WPFアプリケーションがあります。私はいくつかのpublic booleanプロパティを持つカスタムクラスを持っています。それぞれはgetとsetを持っています。WPF DataGridスクロールで一部のチェックボックスがリセットされる

public class OutlookPST 
{ 
    public FileInfo PSTFileInfo { get; set; } 

    public Boolean Attached { get; set; } 
    public Boolean FileLocal { get; set; } 
    public Boolean LatestVersion { get; set; } 
    public Boolean BackupExists { get; set; } 
    public Boolean IgnoreDuplicate { get; set; } 

    public Boolean CopyToLocalFlag { get; set; } 
    public Boolean BackupToNetworkFlag { get; set; } 

xamlファイルには、itemsource = "Binding"があります。

<DataGrid x:Name="dgPSTs" VirtualizingStackPanel.VirtualizationMode="Standard" VirtualizingStackPanel.IsVirtualizing="True" ItemsSource="{Binding}" HorizontalAlignment="Left" Margin="10,121,0,0" VerticalAlignment="Top" Height="243" Width="1193"/> 

DataGrid ItemsSourceプロパティをこのカスタムクラスのリストに設定しています。

private void OutlookPSTToDatagrid(List<OutlookPST> PSTs) 
    { 
     try 
     { 
      dgPSTs.ItemsSource = PSTs; 

これを行うと、すべての初期データが良好になります。ブール値のフラグはすべてチェックボックスです。これは私が望むものです。すべてのデータが正しいです。下にスクロールすると、ブール値のフラグのうちの2つだけがチェックされます。また、スクロールして戻ると、前の行でもなく、最初の行もチェックされます。

フラグの一部ではどのように動作しているのか、それ以外のものではないのか分かりません。

誰もが考えている?必要に応じて私はいくつかのコードを投稿することができます。ちょうどコードのどの部分を私に教えてください。

ありがとうございます!

if (outlookPSTs.Where(x => x.CopyToLocalFlag = true).Count() > 0) 

の代わり::他のブールフラグの事の

if (outlookPSTs.Where(x => x.CopyToLocalFlag == true).Count() > 0) 

同じ種類

+0

不正な値にブール値フラグを設定しているかどうかを確認するためにデバッグを試しましたか? – user1336827

+0

コードを見ずに誰かに手伝ってもらえますか? –

+0

こんにちはFunctor!質問を編集してコードを追加できますか?あなたの実装が見えるようになると、より良い答えが得られます! –

答えて

0

は犯人が他の場所のコードで不適切に形成されたラムダ式のペアだったが判明します。

関連する問題