Ich habe einen Bildschirm mit einigen Daten. Auf dem Bildschirm habe ich zwei benutzerdefinierte Kontrollen (auf der linken und rechten Seite).Mit Lightswitch, Silverlight und benutzerdefinierten Steuerelementen arbeiten
Was ich tun muss, ist folgende:
Bind einige Daten aus einer Datenbank auf einige Steuerelemente in der ersten Custom Control. (füllen Sie eine Liste, Combobox usw., nicht so sehr das Problem)
Der Benutzer kann dann einen Eintrag in der Liste auswählen, drücken Sie eine Taste -> die zweite CustomControl sollte nun sichtbar gemacht werden; Auf Basis der Auswahl einige Daten aus der Datenbank anfordern und ein Diagramm dynamisch erstellen und anzeigen.
So weiß ich, wie Sie das Diagramm erstellen und die Steuerelemente erstellen. Aber wie kann ich auf die Daten zugreifen vom Bildschirm über Code und Zugriff auf ein anderes CustomControl aus dem ersten CustomControl?
Edit:
Dinge fand ich heraus.
Zutrittskontrolle von Bildschirm
this.FindControl("yourControl");
Tun Sie etwas mit der Steuerung:
this.FindControl("yourControl").ControlAvailable += ((o,e) => { YourControlType myControl = e.Control as YourControlType; });
Access Daten
IContentItem dataContext = this.DataContext as IContentItem; IScreenObject screen = dataContext.Screen; IScreenProperty prop = screen.Details.Properties["yourProperty"]; VisualCollection<yourProperty> items = prop.Value as VisualCollection<yourProperty>;
zeigen neue Bildschirm
Application.Current.Details.Dispatcher.BeginInvoke(() => Application.Current.ShowGraphScreen(reportItem.BlockID));
Vielleicht wird dies jemand helfen.
+1 nur für die kleinen Edelsteine, wie Sie auf Bildschirmdaten zugreifen. Da benutzerdefinierte Steuerelemente jetzt in einer separaten Bibliothek vorhanden sein müssen, war das Hinzufügen eines Verweises auf das generierte 'Application.common' der Client-App in Kombination mit Ihren Beispielen eine große Hilfe. –
Hilft dieser Link? [Benutzerdefinierte Steuerbindung] (http://social.msdn.microsoft.com/Forums/en/lsextensibility/thread/394d7968-5210-441a-bf29-3da7001af07d) –