我的应用程序正在使用自我追踪实体&我从WCF服务获取数据。在我的WCF服务查询中,我使用.Include(“”)来加载与查询的实体关系。
public List<IndividualDisability> GetIndividualDisabilities()
{
using (var context = new ADATrackingEntities())
{
return context.IndividualDisabilities.OfType<IndividualDisability>().Include("ADACode").ToList();
}
}
然后我将结果添加到ICollectionView。我有一个绑定到ICollectionView的ListView,我的ListView中的一些列绑定到我的实体关系中的值。我有一个master-details设置,listview的当前项绑定到我正在编辑的实体对象。
<ListView Margin="0,0,10,0" MaxHeight="400" MaxWidth="300" HorizontalAlignment="Left" AlternationCount="2" ItemsSource="{Binding Path=IndividualDisabilitiesSource}" IsSynchronizedWithCurrentItem="True" SelectedItem="{Binding Path=CurrentIndividualDisability, Mode=TwoWay}" SelectionMode="Single" ItemContainerStyle="{DynamicResource ListViewItemContainerStyle}">
<ListView.View>
<GridView>
<GridViewColumn Header="Case #" Width="Auto"
DisplayMemberBinding="{Binding Individual.CaseNumberShort}" />
<GridViewColumn Header="LName" Width="Auto"
DisplayMemberBinding="{Binding Individual.LastName}" />
<GridViewColumn Header="FName" Width="Auto"
DisplayMemberBinding="{Binding Individual.FirstName}" />
<GridViewColumn Header="ADA Code" Width="Auto"
DisplayMemberBinding="{Binding ADACode.ADACodeDesc}" />
</GridView>
</ListView.View>
</ListView>
问题是,在我的编辑部分,我使用组合框来更改所选记录中的值,并将其在ListView中的相关值更改为单元格中的空白值。我可以让它再次显示的唯一方法是返回数据库并再次加载数据。我的组合框或列表视图绑定是否缺少某些内容?
<ComboBox Height="25" Width="200" ItemsSource="{Binding ADACodesSource}"
DisplayMemberPath="ADACodeDesc" SelectedValuePath="ADACodeID"
SelectedValue="{Binding Path=CurrentIndividualDisability.ADACodeID, Mode=TwoWay,
NotifyOnValidationError=True, ValidatesOnDataErrors=True}" />
答案 0 :(得分:0)
我还没能让它在组合框中工作,所以我决心创建一个自定义控件。它的AutoComplete / ComboBox似乎具有正确的绑定类型。使用此博客文章中详述的控件,一切都很好: