Sink1 - контейнер для рукописного ввода, он не привязывается к чернильному холсту (я также пытался связать его с чернильным холстом, чтобы избежать ИСКЛЮЧЕНИЯ, но все еще бесполезно). ink1 - это чернила для xaml.
public sealed partial class wpage : Page
{
public wpage()
{
this.InitializeComponent();
ink1.InkPresenter.StrokeContainer = inkStrokeContainer1;
ink1.InkPresenter.StrokesCollected += InkPresenter_StrokesCollected;
ink1.InkPresenter.InputDeviceTypes = CoreInputDeviceTypes.Pen | CoreInputDeviceTypes.Mouse;
}
public void InkPresenter_StrokesCollected(InkPresenter sender, InkStrokesCollectedEventArgs args)
{sink1.Clear();
sink1.AddStrokes(args.Strokes);
}
}
above code will cause an
#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
UnhandledException += (sender, e) =>
{
if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break();
Я также пробовал:
public async void InkPresenter_StrokesCollected(InkPresenter sender, InkStrokesCollectedEventArgs args)
{ await CoreApplication.MainView.Dispatcher.RunAsync(CoreDispatcherPriority.Low, new DispatchedHandler(() =>
{ {sink1.Clear();
sink1.AddStrokes(args.Strokes);
});
}
, но все еще бесполезно и бомба с
#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
UnhandledException += (sender, e) =>
{
if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break(); .
Я также пыталсязапустить их как в taks.run, так и в Dispatcher.RunAsync, также бомба. Я делаю это, потому что мне нужно сериализовать чернильный удар в формате isf с помощью метода save в классе inkstrokecontainer, сериализовать с другим методом, размер результата слишком велик.