2014-09-28 86 views
0

我有两个类由实体框架生成如下。我的需求取决于JobEntity类中的SystemEntity_ID,我想绑定ListView中复选框的IsChecked属性。问题是,现在正在检查所有复选框...请帮助..在列表视图中的WPF复选框绑定

public partial class JobEntity 
{ 
    public int JobEntity_ID { get; set; } 
    public int Job_ID { get; set; } 
    public Nullable<int> SystemEntity_ID { get; set; } 
    public string EntityMigrationStatus { get; set; } 
} 

public partial class sp_SelectEntities_Result 
{ 
    public Nullable<int> Project_ID { get; set; } 
    public Nullable<int> Site_ID { get; set; } 
    public int SystemEntity_ID { get; set; } 
    public string EntityDesc { get; set; } 
} 

下面是我的ViewModel类:

public class EntityViewModel 
{ 
    private List<sp_SelectEntities_Result> entitylist; 
    private ObservableCollection<sp_SelectEntities_Result> _ObCollection; 
    private EntityDbContext db; 
    List<int> Selectedvalues = new List<int>(); 
    public EntityViewModel() 
    { 
     db = new EntityDbContext(); 
     entitylist = db.sp_SelectEntities().ToList(); 
     convert(); 
    } 

    public void convert() 
    { 
     _ObCollection = new ObservableCollection<sp_SelectEntities_Result>(entitylist); 
    } 

    public ObservableCollection<sp_SelectEntities_Result> obcollection 
    { 
     get { return _ObCollection; } 
     set { _ObCollection = value; } 
    } 

} 

我的观点,即主窗口。

<ListView x:Name="lstentities" ItemsSource="{Binding obcollection}" Height="250" VerticalAlignment="Top"> 
    <ListView.View> 
     <GridView> 
      <GridViewColumn Header="Selected"> 
       <GridViewColumn.CellTemplate> 
        <DataTemplate> 
         <CheckBox x:Name="chk" IsChecked="{Binding SystemEntity_ID}" /> 
        </DataTemplate> 
       </GridViewColumn.CellTemplate> 
      </GridViewColumn> 
      <GridViewColumn DisplayMemberBinding="{Binding EntityDesc}" Header="Entity" /> 
     </GridView> 
    </ListView.View> 
</ListView> 

,并在mainwindow.cs

public MainWindow() 
{ 
    InitializeComponent(); 

    EntityViewModel ev = new EntityViewModel(); 
    this.DataContext = ev; 
} 
+1

你想要一个int到一个属性是一个布尔?那是对的吗? – sexta13 2014-09-28 22:11:00

+0

你到底想要触发一个复选框?你将它绑定到一个整数,我假设只要该整数不为零,该框就会被检查。如果您想根据特定值检查该框,则需要使用值转换器。 – 2014-09-28 23:04:17

+0

其实让我们说在数据库中我们有2,3,4然后我想2,3和4复选框被检查,并沿同一行,如果任何检查的变化可以说,用户没有选中2,然后我想要保存3,4到数据库.. – nikhil 2014-09-29 00:09:09

回答

0

的问题是,您要为空的INT绑定到一个布尔属性。 如果你想要这个任何方式。你需要一个转换器或数据触发器。

由于我不知道什么值会使复选框被选中,并且什么值会使该复选框不被选中,我可以为你编写任何代码。

希望这会有所帮助。

亲切的问候

+0

如前所述,如果我在数据库中有2,4个,那么复选框2和4需要检查,如果在视图中发生任何更改,我需要将这些值存储回数据库。 。请帮助..如果我需要一个值转换器,你可以请帮我代码..我是新来的WPF .. – nikhil 2014-09-29 00:11:15