いくつかのデータが表示された画面があります。画面内には、2つのカスタムコントロール(左側と右側)があります。
私がする必要があるのは次のとおりです。
データベースの一部のデータを最初のカスタムコントロールの一部のコントロールにバインドします。(リスト、コンボボックスなどを入力しますが、それほど問題はありません)
次に、ユーザーはリスト内のエントリを選択し、ボタンを押すと、2番目のCustomControlが表示されます。選択に基づいてDBにデータを要求し、グラフを動的に作成して表示します。
だから私はチャートを構築し、コントロールを構築する方法を知っています。しかし、コードを介して画面からデータにアクセスし、最初のCustomControl内から別のCustomControlにアクセスするにはどうすればよいですか?
編集:
私が見つけたもの。
画面からのアクセス制御
this.FindControl("yourControl");
コントロールで何かをします:
this.FindControl("yourControl").ControlAvailable += ( (o,e) => { YourControlType myControl = e.Control as YourControlType; });
画面データへのアクセス
IContentItem dataContext = this.DataContext as IContentItem; IScreenObject screen = dataContext.Screen; IScreenProperty prop = screen.Details.Properties["yourProperty"]; VisualCollection<yourProperty> items = prop.Value as VisualCollection<yourProperty>;
新しい画面を表示する
Application.Current.Details.Dispatcher.BeginInvoke(() => Application.Current.ShowGraphScreen(reportItem.BlockID));
多分これは誰かを助けるでしょう。