【发布时间】:2010-03-25 07:07:38
【问题描述】:
我有两个 Silverlight 4.0 组合框;第二个显示在第一个中选择的实体的子项:
<ComboBox
Name="cmbThings"
ItemsSource="{Binding Path=Things,Mode=TwoWay}"
DisplayMemberPath="Name"
SelectionChanged="CmbThingsSelectionChanged" />
<ComboBox
Name="cmbChildThings"
ItemsSource="{Binding Path=SelectedThing.ChildThings,Mode=TwoWay}"
DisplayMemberPath="Name" />
视图背后的代码通过 WCF RIA 服务加载 Entity Framework 4.0 实体,提供了一种(简单、笨拙的)数据绑定这些 ComboBox 的方法:
public EntitySet<Thing> Things { get; private set; }
public Thing SelectedThing { get; private set; }
protected override void OnNavigatedTo(NavigationEventArgs e)
{
var context = new SortingDomainContext();
context.Load(context.GetThingsQuery());
context.Load(context.GetChildThingsQuery());
Things = context.Things;
DataContext = this;
}
private void CmbThingsSelectionChanged(object sender, SelectionChangedEventArgs e)
{
SelectedThing = (Thing) cmbThings.SelectedItem;
if (PropertyChanged != null)
{
PropertyChanged.Invoke(this, new PropertyChangedEventArgs("SelectedThing"));
}
}
public event PropertyChangedEventHandler PropertyChanged;
我想做的是让两个组合框按字母顺序对其内容进行排序,如果可能的话,我想在 XAML 中指定该行为。
谁能告诉我使用 SL4 / EF4 / WCF RIA 技术堆栈执行此操作的惯用方式是什么?
【问题讨论】:
标签: .net silverlight entity-framework wcf-ria-services