LoginSignup
0

More than 5 years have passed since last update.

MacのXamarin.FormsのListViewで例外が発生することへの対応

Last updated at Posted at 2019-02-08

Xamarin.FormsでMacアプリを開発しているときに、ListViewを使うと例外が発生して困ったので、その解決策を記載しておきます。

問題

以下のように普通にListViewを使って書いて、画面をスクロールしていると、ObjCRuntime.RuntimeExceptionが発生します。

<ListView ItemsSource="{Binding Items}" >
    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell>
                ...
            </ViewCell>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

例外.png

解決策

CachingStrategyRecycleElementにすれば、例外が発生しなくなります。

<ListView ItemsSource="{Binding Items}" CachingStrategy="RecycleElement">
    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell>
                ...
            </ViewCell>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0