自我跟踪实体ListView绑定损失价值变化

时间:2012-01-19 23:29:01

标签: c# wpf silverlight entity-framework mvvm

我的应用程序正在使用自我追踪实体&我从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}" />

1 个答案:

答案 0 :(得分:0)

我还没能让它在组合框中工作,所以我决心创建一个自定义控件。它的AutoComplete / ComboBox似乎具有正确的绑定类型。使用此博客文章中详述的控件,一切都很好:

http://weblogs.asp.net/dwahlin/archive/2009/07/06/creating-an-combobox-style-autocompletebox-control-in-silverlight.aspx