when i use async method to get data from web services the diagram.BeginNodeRender and diagram.BeginNodeLayout and diagram.Loaded not fires in this code :
public TreePage()
{
InitializeComponent();
LoadAsync();
}
public async void LoadAsync()
{
diagram.IsReadOnly = true;
diagram.EnableSelectors = false;
diagram.PageSettings.PageBackGround = Color.White;
DataModel datamodel = new DataModel();
DataSourceSettings settings = new DataSourceSettings();
await datamodel.DataAsync();
settings.ParentId = "ParentId";
settings.Id = "UserId";
settings.DataSource = datamodel.Users;
diagram.DataSourceSettings = settings;
diagram.LayoutManager = new LayoutManager()
{
Layout = new DirectedTreeLayout()
{
Type = LayoutType.Organization,
HorizontalSpacing = 20,
VerticalSpacing = 20
}
};
for (int i = 0; i < diagram.Connectors.Count; i++)
{
diagram.Connectors[i].TargetDecoratorType = DecoratorType.None;
diagram.Connectors[i].Style.StrokeBrush = new SolidBrush(Color.FromRgb(127, 132, 133));
diagram.Connectors[i].Style.StrokeWidth = 1;
}
// not fires
diagram.BeginNodeRender += Diagram_BeginNodeRender;
diagram.BeginNodeLayout += Diagram_BeginNodeLayout;
diagram.Loaded += Diagram_Loaded;
}
it only fires in ( public void LoadAsync() ) not in (public async void LoadAsync() ) but i need ( await datamodel.DataAsync(); ) in code so i make function is async
any solution for that please