バージョン

アニメーション ブラシの構成 (xamBusyIndicator)

トピックの概要

目的

このトピックでは、 xamBusyIndicator コントロールのデフォルトのアニメーション ブラシをカスタマイズする方法を説明します。

前提条件

このトピックを理解するために、以下のトピックを参照することをお勧めします。

トピック 目的

このトピックでは、このコントロールでサポートする機能を開発者の観点から説明します。

このトピックでは、コントロールの視覚要素についての概要を紹介します。

このトピックでは、 xamBusyIndicator コントロールで使用可能なビルド済みのアニメーションについて簡単に説明します。

このトピックでは、XAML とプロシージャー コードを使用して、ページに xamColorPicker コントロールを追加する方法を説明します。

このトピックの内容

このトピックは、以下のセクションで構成されます。

アニメーション ブラシ構成の概要

アニメーション ブラシ構成の概要表

以下の表は、 xamBusyIndicator コントロールのビルド済みアニメーション、カスタム可能なブラシ、使用できる確定モードおよび非確定モードを簡単に説明します。詳細は、概要表の後に記載されています。

Azure アニメーション ブラシの構成

概要

AzureBusyAnimationLowerElementsFillUpperElementsFill の各プロパティを使用して、デフォルトの Azure アニメーション ブラシを変更します。

注:

Note

これらのプロパティは、初期化で使用され、バインディング依存プロパティではありません。

ランタイムにアニメーション ブラシを変更する場合は、ランタイムでのアニメーション ブラシの変更のセクションを参照してください。

以下のスクリーンショットは、以下の設定の結果、 xamBusyIndicator の Azure アニメーションの外観がどのようになるかを示しています。

プロパティ

#FFB8D432

#FF59B4D9

Configuring Animations Brushes 14.png

以下のコードはこの例を実装します。

XAML の場合:

<ig:XamBusyIndicator IsBusy="True" Name="Azure" >
    <ig:XamBusyIndicator.Animation>
        <ig:AzureBusyAnimation LowerElementsFill="#FFB8D432" UpperElementsFill="#FF59B4D9"/>
    </ig:XamBusyIndicator.Animation>
</ig:XamBusyIndicator>

Gears アニメーション ブラシの構成

概要

GearsBusyAnimationBigGearFillSmallGearFill の各プロパティを使用して、デフォルトの Gears アニメーション ブラシを変更します。

注:

Note

これらのプロパティは、初期化で使用され、バインディング依存プロパティではありません。

ランタイムにアニメーション ブラシを変更する場合は、ランタイムでのアニメーション ブラシの変更のセクションを参照してください。

以下のスクリーンショットは、以下の設定の結果、 xamBusyIndicator の Gears アニメーションの外観がどのようになるかを示しています。

プロパティ

#FF324047

#FF43A898

Configuring Animations Brushes 7.png

以下のコードはこの例を実装します。

XAML の場合:

<ig:XamBusyIndicator IsBusy="True" Name="Gears" >
    <ig:XamBusyIndicator.Animation>
        <ig:GearsBusyAnimation BigGearFill="#FF324047" SmallGearFill="#FF43A898"/>
    </ig:XamBusyIndicator.Animation>
</ig:XamBusyIndicator>

ProgressRing アニメーション ブラシの構成

概要

ProgressRingBusyAnimation RingBackgroundBackgroundForegroundRingFill の各プロパティを使用して、デフォルトの ProgressRing アニメーション ブラシを変更します。

注:

Note

これらのプロパティは、初期化で使用され、バインディング依存プロパティではありません。

ランタイムにアニメーション ブラシを変更する場合は、ランタイムでのアニメーション ブラシの変更のセクションを参照してください。

以下のスクリーンショットは、以下の設定の結果、 xamBusyIndicator の ProgressRing アニメーションの外観がどのようになるかを示しています。

プロパティ

Red

Green

White

Blue

Configuring Animations Brushes 8.png
  1. RingFill

  2. Background

  3. RingBackground

  4. Foreground

以下のコードはこの例を実装します。

XAML の場合:

<ig:XamBusyIndicator IsBusy="True" IsIndeterminate="False" Name="ProgressRingDeterminate" ProgressValue=".5" >
    <ig:XamBusyIndicator.Animation>
        <ig:ProgressRingBusyAnimation RingBackground="Red" Background="Green" Foreground="White" RingFill="Blue"  />
    </ig:XamBusyIndicator.Animation>
</ig:XamBusyIndicator>

SpinnerBalls アニメーション ブラシの構成

概要

SingleBrushBusyAnimationAnimationFill のプロパティを使用して、デフォルトの SpinnerBalls アニメーション ブラシを変更します。

注:

Note

このプロパティは、初期化に使用され、バインディング依存プロパティではありません。

ランタイムにアニメーション ブラシを変更する場合は、ランタイムでのアニメーション ブラシの変更のセクションを参照してください。

以下のスクリーンショットは、以下の設定の結果、 xamBusyIndicator の SpinnerBalls アニメーションの外観がどのようになるかを示しています。

プロパティ

#FF609BAE

Configuring Animations Brushes 9.png

以下のコードはこの例を実装します。

XAML の場合:

<ig:XamBusyIndicator IsBusy="True" Name="SpinnerBalls">
    <ig:XamBusyIndicator.Animation>
        <ig:SpinnerBallsBusyAnimation AnimationFill="#FF609BAE" />
    </ig:XamBusyIndicator.Animation>
</ig:XamBusyIndicator>

SpinnerBars アニメーション ブラシの構成

概要

SingleBrushBusyAnimationAnimationFill のプロパティを使用して、デフォルトの SpinnerBars アニメーション ブラシを変更します。

注:

Note

このプロパティは、初期化に使用され、バインディング依存プロパティではありません。

ランタイムにアニメーション ブラシを変更する場合は、ランタイムでのアニメーション ブラシの変更のセクションを参照してください。

以下のスクリーンショットは、以下の設定の結果、 xamBusyIndicator の SpinnerBars アニメーションの外観がどのようになるかを示しています。

プロパティ

#FF3C7B82

Configuring Animations Brushes 10.png

以下のコードはこの例を実装します。

XAML の場合:

<ig:XamBusyIndicator IsBusy="True" Name="SpinnerBars" >
    <ig:XamBusyIndicator.Animation>
        <ig:SpinnerBarsBusyAnimation AnimationFill="#FF3C7B82" />
    </ig:XamBusyIndicator.Animation>
</ig:XamBusyIndicator>

SpinnerBarsWave アニメーション ブラシの構成

概要

SingleBrushBusyAnimationAnimationFill のプロパティを使用して、デフォルトの SpinnerBarsWave アニメーション ブラシを変更します。

注:

Note

このプロパティは、初期化に使用され、バインディング依存プロパティではありません。

ランタイムにアニメーション ブラシを変更する場合は、ランタイムでのアニメーション ブラシの変更のセクションを参照してください。

以下のスクリーンショットは、以下の設定の結果、 xamBusyIndicator の SpinnerBarsWave アニメーションの外観がどのようになるかを示しています。

プロパティ

#FF3C7B82

Configuring Animations Brushes 11.png

以下のコードはこの例を実装します。

XAML の場合:

<ig:XamBusyIndicator IsBusy="True" Name="SpinnerBarsWave" >
    <ig:XamBusyIndicator.Animation>
        <ig:SpinnerBarsWaveBusyAnimation AnimationFill="#FF3C7B82" />
    </ig:XamBusyIndicator.Animation>
</ig:XamBusyIndicator>

SpinnerSegmented アニメーション ブラシの構成

概要

SingleBrushBusyAnimationAnimationFill のプロパティを使用して、デフォルトの SpinnerSegmented アニメーション ブラシを変更します

注:

Note

このプロパティは、初期化に使用され、バインディング依存プロパティではありません。

ランタイムにアニメーション ブラシを変更する場合は、ランタイムでのアニメーション ブラシの変更のセクションを参照してください。

以下のスクリーンショットは、以下の設定の結果、 xamBusyIndicator の SpinnerSegmented アニメーションの外観がどのようになるかを示しています。

プロパティ

#FF43A898

Configuring Animations Brushes 12.png

以下のコードはこの例を実装します。

XAML の場合:

<ig:XamBusyIndicator IsBusy="True" Name="SpinnerSegmented" >
    <ig:XamBusyIndicator.Animation>
        <ig:SpinnerSegmentedBusyAnimation AnimationFill="#FF43A898" />
    </ig:XamBusyIndicator.Animation>
</ig:XamBusyIndicator>

ランタイムでのアニメーション ブラシの変更

概要

以下の例は、ランタイムに xamColorPicker コントロールを使用して、 xamBusyIndicator Gears アニメーション ブラシをバインドし、変更する方法を示します。

アニメーションのカラーを動的に変更するために、 GearsBusyAnimationPresenter BigGearFill および SmallGearFill プロパティを使用して、 xamColorPickerSelectedColorPreview プロパティにバインドします。

初期化のみに使用されバインドできない GearsBusyAnimationBigGearFill および SmallGearFill プロパティとは異なり、 GearsBusyAnimationPresenterBigGearFill および SmallGearFill プロパティはバインディング依存プロパティです。

プレビュー

以下のスクリーンショットは最終結果のプレビューです。

Configuring Animations Brushes 13.png

前提条件

この手順を実行するには、以下が必要です。

  • 以下の NuGet パッケージ参照をプロジェクトに追加します。

    • Infragistics.WPF.ColorPicker

    • Infragistics.WPF

    NuGet フィードのセットアップと NuGet パッケージの追加の詳細については、NuGet フィード ドキュメントを参照してください。

手順

以下のステップは、Gears アニメーション ブラシをランタイムで変更する方法を示します。

  1. xamBusyIndicator コントロールのページへの追加

XAML の場合:

<ig:XamBusyIndicator Name="Gears" IsBusy="True" Animation="Gears" Width="200" />
  1. xamColorPicker コントロールをページに追加し、その SelectedColorPreview プロパティを xamBusyIndicator アニメーション ブラシにバインドします。

XAML の場合:

<ig:XamColorPicker SelectedColor="#FF324047" Width="100" SelectedColorPreview="{Binding ElementName=Gears, Path=AnimationPresenter.BigGearFill, Mode=TwoWay, Converter={StaticResource ColorToSolidColorBrushValueConverter}}" />

完全なコード

以下は、この手順の完全なコードです。

XAML の場合:

<Grid>
    <Grid.Resources>
        <local:ColorToSolidColorBrushValueConverter x:Key="ColorToSolidColorBrushValueConverter" />
    </Grid.Resources>
    <StackPanel>
        <ig:XamBusyIndicator Name="Gears" IsBusy="True" Animation="Gears" Width="200" />
        <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
            <TextBlock Text="BigGearFill" Width="100" />
            <ig:XamColorPicker SelectedColor="#FF324047" Width="100"
            SelectedColorPreview="{Binding ElementName=Gears, Path=AnimationPresenter.BigGearFill, Mode=TwoWay, Converter={StaticResource ColorToSolidColorBrushValueConverter}}" />
        </StackPanel>
        <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
            <TextBlock Text="SmallGearFill" Width="100"/>
            <ig:XamColorPicker SelectedColor="#FF43A898" Width="100"
            SelectedColorPreview="{Binding ElementName=Gears, Path=AnimationPresenter.SmallGearFill, Mode=TwoWay, Converter={StaticResource ColorToSolidColorBrushValueConverter}}" />
        </StackPanel>
    </StackPanel>
</Grid>

C# の場合:

public class ColorToSolidColorBrushValueConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        var result = new Color();
        if (value is SolidColorBrush)
            result = ((SolidColorBrush)value).Color;
            return result;
    }
     public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
     {
         SolidColorBrush result = null;
         if (value is Color)
             result = new SolidColorBrush((Color)value);
         return result;
    }
}

Visual Basic の場合:

Public Class ColorToSolidColorBrushValueConverter
      Implements IValueConverter
      Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object
            Dim result = New Color()
            If TypeOf value Is SolidColorBrush Then
                  result = DirectCast(value, SolidColorBrush).Color
            End If
            Return result
      End Function
      Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object
            Dim result As SolidColorBrush = Nothing
            If TypeOf value Is Color Then
                  result = New SolidColorBrush(DirectCast(value, Color))
            End If
            Return result
      End Function
End Class

関連トピック

このトピックの追加情報については、以下のトピックも合わせてご参照ください。

トピック 目的

このトピックでは、 xamBusyIndicator コントロールを表示する方法を説明します。

このトピックでは、 xamBusyIndicator  ビジー コンテンツを構成する方法を説明します。

このトピックでは、 xamBusyIndicator コントロールを表示する前の遅延時間を構成する方法を説明します。

このトピックでは、 xamBusyIndicator が非アクティブな場合に、UIElement がフォーカスを受け取るように明示的に構成する方法を説明します。

このトピックでは、 xamBusyIndicator コントロールを構成して、既定の進行状況を表示する方法を説明します。

このトピックでは、 xamBusyIndicator のオーバーレイ スタイルをカスタマイズする方法を説明します。