Windows での RefreshView のプル方向

Download Sampleサンプルのダウンロード

このユニバーサル Windows プラットフォームのプラットフォーム固有設定では、データを表示しているスクロール可能なコントロールの向きに合わせて、RefreshView のプル方向を変更できます。 これは、RefreshView.RefreshPullDirection のバインド可能なプロパティを RefreshPullDirection 列挙型の値に設定することによって XAML で使用されます。

<ContentPage ...
             xmlns:windows="clr-namespace:Xamarin.Forms.PlatformConfiguration.WindowsSpecific;assembly=Xamarin.Forms.Core">
    <RefreshView windows:RefreshView.RefreshPullDirection="LeftToRight"
                 IsRefreshing="{Binding IsRefreshing}"
                 Command="{Binding RefreshCommand}">
        <ScrollView>
            ...
        </ScrollView>
    </RefreshView>
 </ContentPage>

あるいは、Fluent API を使用して C# から使用することもできます。

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.WindowsSpecific;
...
refreshView.On<Windows>().SetRefreshPullDirection(RefreshPullDirection.LeftToRight);

RefreshView.On<Windows> メソッドでは、このプラットフォーム固有設定がユニバーサル Windows プラットフォーム上でのみ実行されるように指定します。 RefreshView.SetRefreshPullDirection メソッドは Xamarin.Forms.PlatformConfiguration.WindowsSpecific 名前空間で、4 つの可能な値を提供する RefreshPullDirection 列挙型とともに RefreshView のプル方向を設定するために使われます。

  • LeftToRight は、左から右へのプルが更新を開始することを示します。
  • TopToBottom は、上から下へのプルが更新を開始し、RefreshView の既定のプル方向であることを示します。
  • RightToLeft は、右から左へのプルが更新を開始することを示します。
  • BottomToTop は、下から上へのプルが更新を開始することを示します。

さらに、GetRefreshPullDirection メソッドを使用して RefreshView の現在の RefreshPullDirection を返すことができます。

その結果、指定された RefreshViewRefreshPullDirectionに適用され、データが表示されるスクロール可能なコントロールの向きに合わせてプル方向を設定します。 次のスクリーンショットは、LeftToRight プル方向の RefreshView を示しています。

Screenshot of a RefreshView with a left to right pull direction, on UWP

プル方向を変更すると、プログレス サークルの開始位置が自動的に回転し、矢印がプル方向に適した位置で開始されます。