【发布时间】:2017-05-26 21:49:07
【问题描述】:
我有一个带有数据网格的 C# WPF 应用程序。我有一个自定义类,其中包含一些公共布尔属性,每个属性都有一个 get 和 set。
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;
当我这样做时,所有初始数据看起来都不错。所有布尔标志都是复选框,这就是我想要的。所有数据都是正确的。当我向下滚动时,只有两个布尔标志被设置为选中。当我向上滚动时,还会检查第一行,而之前没有。
我不明白它是如何对某些标志起作用的,而不是对其他标志起作用的。
有人有什么想法吗?如果需要,我可以发布一些代码。让我知道代码的哪些部分。
谢谢!
【问题讨论】:
-
您是否尝试过调试以查看将布尔标志设置为错误值的原因?
-
没有看到你的代码的人应该如何帮助你?
-
你好函子!您可以编辑问题并添加代码吗?一旦我们看到您的实施,我们将能够为您提供更好的答案!