void listServerGet(object sender, ListServerGetOrFreeEventArgs e) { GetSourceEventArgs args = new GetSourceEventArgs(new ServerModeCoreExtender()); e.Tag = args; if (!string.IsNullOrEmpty(this.KeyExpression)) { args.KeyExpression = this.KeyExpression; } args.AreSourceRowsThreadSafe = this.AreSourceRowsThreadSafe; if (this.GetSource != null) { this.GetSource(this, args); } if (args.Query == null) { e.ListServerSource = new DummyListServer(); } else { WcfServerModeSource src = new WcfServerModeSource(args.Extender); e.ListServerSource = src; src.KeyExpression = args.KeyExpression; src.Query = args.Query; src.DefaultSorting = this.DefaultSorting; } }
void listServerFree(object sender, ListServerGetOrFreeEventArgs e) { GetSourceEventArgs args = ((GetSourceEventArgs)e.Tag); if (DismissSource != null) { DismissSource(this, args); } }
void getTypeInfo(object sender, GetTypeInfoEventArgs e) { GetSourceEventArgs getQueryArgs = (GetSourceEventArgs)e.Tag; PropertyDescriptorCollection sourceDescriptors = ListBindingHelper.GetListItemProperties(e.ListServerSource); if (getQueryArgs.Query == null) { e.TypeInfo = new TypeInfoNoSource(this.DesignTimeElementType); } else if (getQueryArgs.AreSourceRowsThreadSafe) { e.TypeInfo = new TypeInfoThreadSafe(sourceDescriptors); } else { e.TypeInfo = new TypeInfoProxied(sourceDescriptors, this.DesignTimeElementType); } }