Связывание в формах скиашарп ксамарин
Я хочу связать свойство цвета skpaint, так как библиотека форм Skiasharp не имеет встроенной привязки. Может кто-нибудь показать, как этого добиться, или хотя бы указать мне направление.
1 ответ
Благодаря AlexP с форумов xamarin я могу добавить свои собственные привязываемые свойства к любому элементу управления, это довольно легко
public class BindableSKCanvasView : SKCanvasView
{
public static readonly BindableProperty ColorProperty =
BindableProperty.Create("Color", typeof(SKColor), typeof(BindableSKCanvasView),defaultValue:SKColors.Black, defaultBindingMode: BindingMode.TwoWay, propertyChanged: RedrawCanvas);
public SKColor Color
{
get => (SKColor)GetValue(ColorProperty);
set => SetValue(ColorProperty, value);
}
private static void RedrawCanvas(BindableObject bindable, object oldvalue, object newvalue)
{
BindableSKCanvasView bindableCanvas = bindable as BindableSKCanvasView;
bindableCanvas.InvalidateSurface();
}
}
вот ссылка на форум для справки
https://forums.xamarin.com/discussion/122312/binding-in-skiasharp-xamarin-forms