首页 > 解决方案 > 订阅 OnToolBarChanged 事件 PDFTronViewCtrl

问题描述

使用适用于 android 的 pdftron Xamarin 查看器控件并且无法收听 ToolbarChanged 事件。Pdf 文件选项卡打开工具栏根据条件显示或隐藏。更改选项卡时,我必须保存和恢复选定的工具栏。

这个怎么做?

注意:我看到 ontoolbarchanged 但我认为 ToolbarChanged 的​​事件实现在 c# 中不可用?

在此处输入图像描述

此外,当我尝试在 AnnotationMode 中打开时,不会显示注释工具。

在此处输入图像描述

另一个错误是 LastTabClos​​ed 事件被触发了两次。

我正在使用下面提到的标志解决导航弹出两次。

    bool flagPopped;

    private void MDocumentView_LastTabClosed(object sender, EventArgs e)
    {
        if (!flagPopped)
            Element.Navigation.PopAsync();
        flagPopped = true;
    }

标签: pdftron

解决方案


我能够使用以下代码收听 pdftronviewctrl 事件。但问题是它不支持每个选项卡的ToolManager,因此无法使用当前版本实现。此外,TabChanged 事件也会触发 ToolbarChanged 事件,这使得侦听 Tab 级别控件毫无用处。

public class ToolbarChangedListener : Java.Lang.Object, IOnToolbarChangedListener
{
    public event EventHandler<string> ToolbarChanged;
    
    public void OnToolbarChanged(string newToolbar)
    {
        ToolbarChanged?.Invoke(this, newToolbar);
    }
}
    
var toolbarListerner = new ToolbarChangedListener();
mDocumentView.MPdfViewCtrlTabHostFragment.AddOnToolbarChangedListener(toolbarListerner);
toolbarListerner.ToolbarChanged += ToolbarListerner_ToolbarChanged;

推荐阅读