Silverlight 4.0 根据在另一个组合框中选择的值设置一个组合框

Silverlight 4.0 根据在另一个组合框中选择的值设置一个组合框,silverlight-4.0,Silverlight 4.0,组合框问题又回来了 我的应用程序在Silverlight中,使用C.Net代码VS2010。我有三个组合框 国 状态 城市 现在我的要求是,当我从ComboBox中选择Country:India时,印度的所有州都应该在State ComboBox中填充,当我选择其他一些国家时,这些国家应该填充。为此,我以这种方式创建了数据库,只给每个国家提供UniqueID 我的数据库表就是这样设计的 CountryTableCountryId,CountryName StateTableStateId、Sta

组合框问题又回来了

我的应用程序在Silverlight中,使用C.Net代码VS2010。我有三个组合框

国 状态 城市 现在我的要求是,当我从ComboBox中选择Country:India时,印度的所有州都应该在State ComboBox中填充,当我选择其他一些国家时,这些国家应该填充。为此,我以这种方式创建了数据库,只给每个国家提供UniqueID

我的数据库表就是这样设计的

CountryTableCountryId,CountryName StateTableStateId、StateName、CountryId CityTableCityId、CityName、StateName 这样我就设计了我的数据库

我已经在Service.svc.cs文件中编写了代码来填充我的组合框

Service.svc.cs中的代码

[OperationContract]
        public List<GetCountry> GetCountryRecord()
        {
            using (Entities context = new Entities())
            {
                return (from c in context.CountryMaster
                        select new GetCountry
                        {
                            Country = c.CountryName,
                        }).ToList<GetCountry>();
            }
        }

 public class GetCountry
        {
            public string Country { get; set; }
        }
这就是我如何填充我的组合框。 现在,我希望状态值应该根据所选的国家而改变,类似地,城市组合框值应该根据所选的状态而改变

如何通过使用此代码而不重新编码太多内容来实现这一点

请在第一个ComboBox的SelectionChanged事件上或在调用绑定的setter时使用code…

引导,进行数据库调用以填充序列中的下一个ComboxBox


因此,最初您填充国家组合。然后,当用户选择国家时,将发送数据库请求以填充状态组合。由于这一切都是异步发生的,因此在发生时您不会占用UI。

请为您的问题提供更有意义的标题。不,事实上,我已经尝试了不同的代码来解决这个问题,但没有达到要求的结果。现在我只是用相同的代码填充country combo中的数据。正如我所提到的,我已经在服务文件中对此进行了编码。现在要实现我想知道的,我应该在哪里编码?如何编码???@Ehtesham-您是使用绑定的MVVM还是使用SelectionChanged event以更新所选国家/地区?通过页面_加载的事件,“我的国家/地区”组合将填充my CountryMaster表中可用的所有国家/地区名称。现在,我希望在Country组合框SelectionChanged事件中更改state组合值。就像当用户从国家组合中选择印度时,印度的州应该在国家组合中填充,当将选择更改为其他国家时,则应加载相应的州。我应该解释一下我的数据库结构吗?或者这很容易理解吗?@Ehtesham-我不是这么问的。当组合框选择更改时,如何在C中更新所选国家/地区?发布您的XAMLChris我没有在XAML中手动编写一个单词,我所编写的代码都在Service.svc.cs和Form.XAML.cs中。我发布的代码是我在应用程序中编写的用于填充国家/地区的唯一代码。如果我执行了错误的程序,你能纠正我吗???
var client = new ServiceReference1.AlumniServiceClient();
            client.GetCountryRecordCompleted += (s, ea) =>
                {
                   cboCountry.ItemsSource = ea.Result.Select(b => b.Country).ToList();;

                };
            client.GetCountryRecordAsync();