Mam ekran z niektórymi danymi. Wewnątrz ekranu mam dwa niestandardowe kontrolki (po lewej i prawej stronie).Praca z wyłącznikiem światła, kontrolkami Silverlight i kontrolkami niestandardowymi
Co muszę zrobić jest następujące:
Bind niektóre dane z bazy danych do niektórych kontroli w pierwszej kontroli Custom. (wypełnić listę, combobox itp., Nie tak bardzo problem)
Użytkownik może następnie wybrać pozycję z listy, nacisnąć przycisk -> druga funkcja Custom Control powinna być teraz widoczna; zażądać niektórych danych z bazy danych, na podstawie wyboru i dynamicznie utworzyć i pokazać wykres.
Więc wiem, jak zbudować wykres i zbudować elementy sterujące. Ale w jaki sposób mogę uzyskać dostęp do danych z ekranu za pomocą kodu i uzyskać dostęp do innej funkcji CustomControl z poziomu pierwszej kontrolki CustomControl?
Edit:
Czego dowiedziałem. kontrola
dostęp z ekranu
this.FindControl("yourControl");
Zrób coś ze sterowaniem:
this.FindControl("yourControl").ControlAvailable += ((o,e) => { YourControlType myControl = e.Control as YourControlType; });
dane ekran Dostęp
IContentItem dataContext = this.DataContext as IContentItem; IScreenObject screen = dataContext.Screen; IScreenProperty prop = screen.Details.Properties["yourProperty"]; VisualCollection<yourProperty> items = prop.Value as VisualCollection<yourProperty>;
Pokaż nowy ekran
Application.Current.Details.Dispatcher.BeginInvoke(() => Application.Current.ShowGraphScreen(reportItem.BlockID));
Może to pomóc komuś.
+1 tylko dla małych klejnotów, jak uzyskać dostęp do danych ekranu. Ponieważ niestandardowe elementy sterujące muszą teraz znajdować się w oddzielnej bibliotece, dodanie odniesienia do wygenerowanej aplikacji "Application.common" aplikacji klienckiej, w połączeniu z przykładami, było bardzo pomocne. –
Czy ten link pomaga? [Custom Control Binding] (http://social.msdn.microsoft.com/Forums/en/lsextensibility/thread/394d7968-5210-441a-bf29-3da7001af07d) –