Xamarin.Forms MVVMプロジェクト(XAMLではなくコード内)で作業していますが、各セルの高さが異なるリストビューを使用しています(HasUnevenRows = true
) 。各セル内では、ボタンをクリックしてセルに追加またはセルからいくつかのコンテンツを削除できます。私はこれを行うことができますが、セルの高さは、項目をスクロールして表示に戻すまで、コンテンツに調整されません。Xamarin.Forms - FlyViewのセルの高さを設定する
私がオンラインで読んだことから、セルの高さを自動的に内容に合わせて調整することはできません。だから私が次にしようとしているのは、その場でセルの高さを明示的に設定することです。私の現在の設定で 、私は3つのファイルがあります:
- MyPage.csから
myListView
で使用ViewCellテンプレートが含まれている、と私はバインドするボタン、 -var myListView = new ListView { HasUnevenRows = true, ItemTemplate = new DataTemplate(() => new MyViewCell())
- MyViewCell.csが含まれていますがコンテンツを追加し、ビューセルの高さを明示的に変更するためにビューモデル内のコマンドに渡す。
- MyViewModel.cs - コンテンツを追加/削除し、ビューセルの高さを変更するコマンドが含まれています。
質問:ビューモデル(MyViewModel.cs)から、私はその高さを変更するために、リストビュー内の特定のViewCellにアクセスする方法を教えてください。
ViewCellのコンストラクタ内で、 'this.SetBinding(ViewCell.HeightRequestProperty、model => model.ViewCellHeight);'を試しましたが、ViewCellにはHeightRequestPropertyの定義が含まれていません。 VisualElement.HeightRequestPropertyも試しましたが、「無効なキャスト」エラーでクラッシュします。 –
jbyrd