pdftron - 订阅 OnToolBarChanged 事件 PDFTronViewCtrl
问题描述
使用适用于 android 的 pdftron Xamarin 查看器控件并且无法收听 ToolbarChanged 事件。Pdf 文件选项卡打开工具栏根据条件显示或隐藏。更改选项卡时,我必须保存和恢复选定的工具栏。
这个怎么做?
注意:我看到 ontoolbarchanged 但我认为 ToolbarChanged 的事件实现在 c# 中不可用?
此外,当我尝试在 AnnotationMode 中打开时,不会显示注释工具。
另一个错误是 LastTabClosed 事件被触发了两次。
我正在使用下面提到的标志解决导航弹出两次。
bool flagPopped;
private void MDocumentView_LastTabClosed(object sender, EventArgs e)
{
if (!flagPopped)
Element.Navigation.PopAsync();
flagPopped = true;
}
解决方案
我能够使用以下代码收听 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;
推荐阅读
- css - g元素内的SVG动画在chrome中很慢
- openstack - Openstack放置状态升级检查给出未初始化错误
- c# - 通过类填充 List 和 subList
- javascript - 如果 env 是 NodeJS,则加载另一个 esm 文件
- c++ - C ++ 20:概念函数,受archtype限制,需要比预期更广泛的输入
- office-js - 我是否需要一个域来托管 Excel 加载项
- html - 并排显示 3 个 div 中的完全响应图像
- python - 在特定条件下合并两个不同长度的数据帧
- c++ - 如何在 C++ 中将空格分隔的整数和字符作为标准输入?
- android - 如何删除下拉箭头图标填充