次の方法で共有


方法: ドラッグされた GridView 列ヘッダーのスタイルを作成する

この例では、ユーザーが列の位置を変更したときに、ドラッグされた GridViewColumnHeader の外観を変更する方法を示します。

ビュー モードにListViewを使用するGridView内の別の場所に列ヘッダーをドラッグすると、列は新しい位置に移動します。 列ヘッダーをドラッグすると、元のヘッダーに加えてヘッダーのフローティング コピーが表示されます。 GridView内の列ヘッダーは、GridViewColumnHeader オブジェクトによって表されます。

浮動ヘッダーと元のヘッダーの両方の外観をカスタマイズするには、 Triggers を設定して GridViewColumnHeaderStyleを変更できます。 これらの Triggers は、 IsPressed プロパティ値が true され、 Role プロパティ値が Floatingされるときに適用されます。

ユーザーがマウス ボタンを押し、マウスが GridViewColumnHeaderで一時停止している間にマウス ボタンを押したままにすると、 IsPressed プロパティの値が trueに変わります。 同様に、ユーザーがドラッグ操作を開始すると、 Role プロパティが Floatingに変わります。

次の例では、ユーザーが列を新しい位置にドラッグしたときに、元のヘッダーとフローティング ヘッダーのTriggersForegroundの色を変更するBackgroundを設定する方法を示します。

<ControlTemplate TargetType="{x:Type GridViewColumnHeader}">
<ControlTemplate.Triggers>
<Trigger Property="IsPressed"
         Value="true">
  <Setter TargetName="HighlightBorder"
          Property="Visibility"
          Value="Hidden"/>
  <Setter TargetName="PART_HeaderGripper"
          Property="Visibility"
          Value="Hidden"/>
  <Setter Property="Background"
          Value="SkyBlue"/>
  <Setter Property="Foreground"
          Value="Yellow"/>
</Trigger>
<Trigger Property="Role"
         Value="Floating">
  <Setter TargetName="PART_HeaderGripper"
          Property="Visibility"
          Value="Collapsed"/>
  <Setter Property="Background"
          Value="Yellow"/>
  <Setter Property="Foreground"
          Value="SkyBlue"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>

こちらも参照ください