gpt4 book ai didi

连续操作 inkstrorkecontainer.clear() 和 addlines() 导致 UWP 中出现异常

转载 作者:行者123 更新时间:2023-11-30 19:25:30 27 4
gpt4 key购买 nike

Sink1是一个inklines容器,它没有绑定(bind)到inkcanvas(我也尝试将它绑定(bind)到inkcanvas以避免异常,但仍然没用)。ink1 是 xaml 上的 inkcanvas。

 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 中运行它们,也是炸弹。我这样做是因为我需要使用 inkrinklecontainer 类中的 save 方法序列化 isf 格式的 inklines,使用其他方法序列化结果大小太大。

最佳答案

the Sink1 is a inkstrokecontainer, it does not binding to an inkcanvas

这就是问题的原因。

sink1ink1.InkPresenter.StrokeContainer 不是相同的 InkStrokeContainer,这意味着 Stroke 中的 InkCanvas 无法直接添加到另一个 StrokeContainer

您可以尝试修改您的代码:

private void InkPresenter_Collect(InkPresenter sender, InkStrokesCollectedEventArgs args)
{
sink1.Clear();
foreach (var item in args.Strokes)
{
sink1.AddStroke(item.Clone());
}
}

简单来说,屏幕上已经显示的Stroke属于ink1,你不能将它添加到另一个InkStrokeContainer中,但是你可以获取它的克隆对象,克隆的对象不属于ink1,你可以添加它。

致以诚挚的问候。

关于连续操作 inkstrorkecontainer.clear() 和 addlines() 导致 UWP 中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58679922/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com