我有兩個類由實體框架生成如下。我的需求取決於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;
}
你想要一個int到一個屬性是一個布爾?那是對的嗎? – sexta13 2014-09-28 22:11:00
你到底想要觸發一個複選框?你將它綁定到一個整數,我假設只要該整數不爲零,該框就會被檢查。如果您想根據特定值檢查該框,則需要使用值轉換器。 – 2014-09-28 23:04:17
其實讓我們說在數據庫中我們有2,3,4然後我想2,3和4複選框被檢查,並沿同一行,如果任何檢查的變化可以說,用戶沒有選中2,然後我想要保存3,4到數據庫.. – nikhil 2014-09-29 00:09:09