У меня проблема. Я использую холст Skiasharp, где я рисую круг. Теперь цвет круга определяется веб-звонком, поэтому я использую этот код в начале:
public DeviceControl()
{
NavigationPage.SetHasNavigationBar(this, false);
InitializeComponent();
ColorHandler();
}
public Task ColorHandler(string Type)
{
return GetColors();
}
private async Task GetColors()
{
colorList= await App.RestService.GetColors();
pickerMode.ItemsSource = colorList;
selectedColor = colorList.Where(x => x.Id == myCircle.ColorId).FirstOrDefault();
}
Затем, после этого кода, приложение нарисует Canavas в следующем пустоте:
private void OnCanvasViewPaintSurface(object sender, SKPaintSurfaceEventArgs e)
{
SKCanvas canvas = e.Surface.Canvas;
float UnscaledWidth = e.Info.Width;
float UnscaledHeight = e.Info.Height;
if (selectedColor != null)
{
imgLedstrip.Foreground = selectedColor;
}
else
{
imgLedstrip.Foreground = Color.FromHex("#707070");
}
/* REST OF MY CODE, BUT IRRELEVANT */
}
Но переменная selectedColor пуста, а она заполняется позже !!!
Почему мой конструктор не ожидает CodeHandler ()?