これはXamarinフォームですので、私はあなたがアラン・リッチーのAcr.XamForms.SignaturePad
クラスを使用していると仮定しています。
SignaturePadView
クラスは、ビューにシグネチャデータをロードできるメソッドLoadDrawPoints
を公開しています。これは方法ですので、あなたは本当にそれにデータバインドすることはできませんが、署名をロードするためのホスティングビューにコードを追加することができます
// NOTE: The below assumes that
// A) You're using MVVM (as you should :))
// B) The ViewModel class name is MyViewModelClassName (change appropriately)
// C) The property on the VM that exposes the signature points is named SignaturePoints (change appropriately)
protected override OnAppearing() {
LoadSignature();
}
protected override OnBindingContextChanged() {
LoadSignature();
}
private void LoadSignature() {
var vm = this.BindingContext as MyViewModelClassName;
if (vm != null && vm.SignaturePoints != null) {
this.signaturePadView.LoadDrawPoints(vm.SignaturePoints);
}
}
最後に、あなたがバイトとして署名を保存していることに言及しますアレイ;上記のコードでは、浮動小数点のペアであるDrawPoint
の配列であると想定しているため、現在行っている変換を逆にする必要があります。
ありがとうございました。アンディ...ありがとうございました。署名パッドが置かれているスクリーンに複数のコントロールがあることをもう1つ質問しておきます。したがって、画面はスクロール可能になります。サインパッドにサインインしようとすると、画面がスクロールし始めます。ユーザーが署名付きパッドに署名している場合、画面のスクロールを停止する方法はありますか? – anand
こんにちはAndy、署名パッドのタッチイベントや署名付きパッドのイベント処理の仕組みを知っていますか?私はユーザーが署名パッドに触れるときにスクロールビューを無効にできるようにタッチイベントを取得しようとしています。しかし、私は働くことのできる出来事はない。署名パッドのタッチイベントをどのように取得できるか分かっている場合は、更新してください。 – anand
私はSignaturePadの内部にいないのではないかと心配しています。方法はありますが、XamFormsビューを拡張してサポートする必要があります。より簡単なアプローチは、シグネチャ専用のビューを用意して(したがってスクロールする必要がない)、ナビゲーションスタックにプッシュすることです。 –