Tengo una pantalla con algunos datos. Dentro de la pantalla tengo dos controles personalizados (en el lado izquierdo y derecho).Trabajar con Lightswitch, Silverlight y controles personalizados
Lo que tengo que hacer es la siguiente:
Bind algunos datos de una base de datos para algunos controles en el primer control personalizado. (complete una lista, combobox, etc, no tanto el problema)
El usuario puede seleccionar una entrada en la lista, presionar un botón -> el segundo CustomControl ahora debe hacerse visible; solicite algunos datos del DB, basados en la selección y cree y muestre dinámicamente un Gráfico.
Así que sé cómo construir el gráfico y construir los controles. Pero, ¿cómo puedo acceder a los datos desde la pantalla a través del código y acceder a otro CustomControl desde el primer CustomControl?
Editar:
cosas que encontré a cabo. Control
acceso desde la pantalla
this.FindControl("yourControl");
hacer algo con el control:
this.FindControl("yourControl").ControlAvailable += ((o,e) => { YourControlType myControl = e.Control as YourControlType; });
datos de la pantalla de acceso
IContentItem dataContext = this.DataContext as IContentItem; IScreenObject screen = dataContext.Screen; IScreenProperty prop = screen.Details.Properties["yourProperty"]; VisualCollection<yourProperty> items = prop.Value as VisualCollection<yourProperty>;
Mostrar nueva pantalla
Application.Current.Details.Dispatcher.BeginInvoke(() => Application.Current.ShowGraphScreen(reportItem.BlockID));
Tal vez esto ayude a alguien.
+1 solo por las pequeñas gemas sobre cómo acceder a los datos de pantalla. Como los controles personalizados ahora tienen que estar en una biblioteca separada, agregar una referencia al 'Application.common' generado de la aplicación cliente, combinado con sus ejemplos, fue de gran ayuda. –
¿Este enlace sirve de ayuda? [Custom Control Binding] (http://social.msdn.microsoft.com/Forums/en/lsextensibility/thread/394d7968-5210-441a-bf29-3da7001af07d) –