Hec*_*tor 6 c# silverlight visual-studio-lightswitch
我有一个包含一些数据的屏幕.在屏幕内部,我有两个自定义控件(左侧和右侧).
我需要做的是以下内容:
将数据库中的一些数据绑定到第一个Custom控件中的某些控件.(填写列表,组合框等,而不是问题)
然后用户可以在列表中选择一个条目,按下按钮 - >第二个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>;
Run Code Online (Sandbox Code Playgroud)显示新屏幕
Application.Current.Details.Dispatcher.BeginInvoke(() =>
Application.Current.ShowGraphScreen(reportItem.BlockID));
也许这会对某人有所帮助.
使用数据库中您想要从中获取数据的集合的参数创建筛选查询。将此查询添加到屏幕并将参数绑定设置为FirstCustomControl。
将查询拖到屏幕树上,将其更改为图表,然后按照 Yann 的链接检查绑定。
然后,您将需要类似于以下内容的代码来显示/隐藏控件:
partial void ScreenName_InitializeDataWorkspace(List<IDataService> saveChangesTo)
{
this.FindControl("SecondCustomControl").IsVisible = False;
}
partial void ButtonName_Execute()
{
this.FindControl("SecondCustomControl").IsVisible = True;
}
Run Code Online (Sandbox Code Playgroud)
由于SecondCustomControl(我假设这是图表)绑定到查询,并且查询的参数绑定到 中选择的值FirstCustomControl,因此数据收集全部在后台完成。
| 归档时间: |
|
| 查看次数: |
2365 次 |
| 最近记录: |