DataTemplateSelectorCreateContentはInvalidOperationExceptionをスローします

sparkeh9

カスタムの水平方向にスクロール可能なListViewタイプのコントロールを作成している最中ですが、説明できない問題が発生しました。何かを誤解しない限り、問題が自分のコードでも発生するかどうかは100%わかりません。 。

この問題を、https://github.com/sparkeh9/XamarinFormsListViewIssueで入手できる最も単純な形式にまとめました

したがって、非常に単純なデータテンプレートセレクターを利用するHorizo​​ntalListViewコントロールがあります(ロジックなし、単一のデータテンプレートを返します)

XAMLスクリーンショットを参照してください

テンプレートセレクタのスクリーンショットを参照してください

私の問題は、テンプレートセレクターを使用するときに、テンプレートにItemTemplateSelector.CreateContent()基づいてUIコントロールの生成を開始するために呼び出すと、例外がスローされることです。LoadTemplateプロパティがnullであってはならないと主張する例外スクリーンショット参照してください基本クラスを調べたところ、このプロパティFunc<object>はプライベートであり、特定のコンストラクターを呼び出すことによってのみ外部から設定できることがわかりました

XAMLでリテラルアイテムテンプレートを指定すると、次のようにすべてが期待どおりに機能します。

<controls:HorizontalListView.ItemTemplate>
    <DataTemplate>
        <Label Text="test"></Label>
    </DataTemplate>
</controls:HorizontalListView.ItemTemplate>

編集:私自身の質問に答えました

sparkeh9

私が間違ったことを理解しました-タイプがDataTemplateSelectorの場合、最初にを呼び出してテンプレートを生成する必要があります。その後、を呼び出すItemTemplateSelector.SelectTemplate( item, null )ことができます。CreateContent()

diff

私が意味することを示すためにこれをコミットしました:https//github.com/sparkeh9/XamarinFormsListViewIssue/commit/f2f0d807d2d463d1fe9e6a89f0d3c0c7676a0761

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

最大はInvalidOperationExceptionをスローします

分類Dev

Linq式はInvalidOperationExceptionをスローします

分類Dev

XmlSerializerはSystem.InvalidOperationExceptionをスローします

分類Dev

Xunitを使用したAutoFixtureのAutoData属性はSystem.InvalidOperationExceptionをスローします

分類Dev

c#デリゲートはSystem.InvalidOperationExceptionをスローします

分類Dev

キューが空の場合、Queue.PeekはInvalidOperationExceptionをスローします

分類Dev

A.Fake <Stream>()。Read(...)がInvalidOperationExceptionをスローします

分類Dev

ParsePush.SubscribeAsync( ""); 常にSystem.InvalidOperationExceptionをスローします

分類Dev

ControlCollectionがInvalidOperationExceptionをスローしないのはなぜですか?

分類Dev

List <T>をシリアル化するXmlSerializerのコンストラクターは、XmlAttributeOverridesとともに使用すると、InvalidOperationExceptionをスローします。

分類Dev

C#WPFは、データグリッドに行を追加するときにSystem.InvalidOperationExceptionをスローします

分類Dev

APIバージョニングを使用すると、CreatedAtActionがInvalidOperationExceptionをスローします

分類Dev

NBitcoinは、「MacHMACSHA256が認識されていません」というメッセージとともにInvalidOperationExceptionをスローします。

分類Dev

UiPathは、ロボットサービスがInvalidOperationExceptionで開始されているかどうかを確認するように指示します

分類Dev

IMemoryCacheのTryGetValueがInvalidOperationExceptionをスローするのはなぜですか?

分類Dev

DapperでQueryAsyncを呼び出すと、InvalidOperationExceptionがスローされます

分類Dev

Wekaは「UnassignedDatasetException」をスローします

分類Dev

Wekaは「UnassignedDatasetException」をスローします

分類Dev

leiningennewは例外をスローします

分類Dev

startSupportActionMode()はNullPointerExceptionをスローします

分類Dev

UseHangfireServerは例外をスローします

分類Dev

PeripheralManagerServiceはNoClassDefFoundErrorをスローします

分類Dev

rxjavaはOnErrorNotImplementedExceptionをスローします

分類Dev

IconButtonは例外をスローします

分類Dev

CVXPYはSolverErrorをスローします

分類Dev

AspNetCoreNodeServicesはNodeInvocationExceptionをスローします

分類Dev

InputStreamReaderはNullPointerExceptionをスローします

分類Dev

AngularはExpressionChangedAfterItHasBeenCheckedErrorをスローします

分類Dev

SockJsClientはClassCastExceptionをスローします

Related 関連記事

  1. 1

    最大はInvalidOperationExceptionをスローします

  2. 2

    Linq式はInvalidOperationExceptionをスローします

  3. 3

    XmlSerializerはSystem.InvalidOperationExceptionをスローします

  4. 4

    Xunitを使用したAutoFixtureのAutoData属性はSystem.InvalidOperationExceptionをスローします

  5. 5

    c#デリゲートはSystem.InvalidOperationExceptionをスローします

  6. 6

    キューが空の場合、Queue.PeekはInvalidOperationExceptionをスローします

  7. 7

    A.Fake <Stream>()。Read(...)がInvalidOperationExceptionをスローします

  8. 8

    ParsePush.SubscribeAsync( ""); 常にSystem.InvalidOperationExceptionをスローします

  9. 9

    ControlCollectionがInvalidOperationExceptionをスローしないのはなぜですか?

  10. 10

    List <T>をシリアル化するXmlSerializerのコンストラクターは、XmlAttributeOverridesとともに使用すると、InvalidOperationExceptionをスローします。

  11. 11

    C#WPFは、データグリッドに行を追加するときにSystem.InvalidOperationExceptionをスローします

  12. 12

    APIバージョニングを使用すると、CreatedAtActionがInvalidOperationExceptionをスローします

  13. 13

    NBitcoinは、「MacHMACSHA256が認識されていません」というメッセージとともにInvalidOperationExceptionをスローします。

  14. 14

    UiPathは、ロボットサービスがInvalidOperationExceptionで開始されているかどうかを確認するように指示します

  15. 15

    IMemoryCacheのTryGetValueがInvalidOperationExceptionをスローするのはなぜですか?

  16. 16

    DapperでQueryAsyncを呼び出すと、InvalidOperationExceptionがスローされます

  17. 17

    Wekaは「UnassignedDatasetException」をスローします

  18. 18

    Wekaは「UnassignedDatasetException」をスローします

  19. 19

    leiningennewは例外をスローします

  20. 20

    startSupportActionMode()はNullPointerExceptionをスローします

  21. 21

    UseHangfireServerは例外をスローします

  22. 22

    PeripheralManagerServiceはNoClassDefFoundErrorをスローします

  23. 23

    rxjavaはOnErrorNotImplementedExceptionをスローします

  24. 24

    IconButtonは例外をスローします

  25. 25

    CVXPYはSolverErrorをスローします

  26. 26

    AspNetCoreNodeServicesはNodeInvocationExceptionをスローします

  27. 27

    InputStreamReaderはNullPointerExceptionをスローします

  28. 28

    AngularはExpressionChangedAfterItHasBeenCheckedErrorをスローします

  29. 29

    SockJsClientはClassCastExceptionをスローします

ホットタグ

アーカイブ