SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Silverlight/WPFで使える逆引きTips集

Silverlight/WPFで使える逆引きTips集
――DataGrid機能(Silverlight前編)

(18) DataGridコントロール Silverlight前編

02.行の色を交互に変更する

 行の色を交互に変更するにはAlternatingRowBackGroundプロパティを使用します。例えば、AlternatingRowBackGroundプロパティにOrangeを設定すると、既定の白とオレンジの2色で交互に色が付けられます。

 また、行の色を交互に変更することを中止するにはAlternatingRowBackGroundプロパティにNothing(C#ではNull)を設定します。

 下記は、行の色を交互に変更する例です。[行の色を交互に変更する]にチェックが付けられると、行の色は白とオレンジで交互に表示されます。

行の色を変更する例
行の色を変更する例
XAMLの例
 <CheckBox Content="行の色を交互に変更する" Name="chkAlternatingRowBackground" />
<sdk:DataGrid AlternatingRowBackground="Orange">
 :省略
</sdk:DataGrid>
VBの例
 ' [行の色を交互に変更する]チェック時の処理
Private Sub chkAlternatingRowBackground_Checked(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles chkAlternatingRowBackground.Checked
    Dim Orange As New SolidColorBrush(Colors.Orange)

    '★★★交互の行で使用する色にOrangeを設定★★★
    CustomerDataGrid.AlternatingRowBackground = Orange
End Sub

' [行の色を交互に変更する]チェックオフ時の処理
Private Sub chkAlternatingRowBackground_Unchecked(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles chkAlternatingRowBackground.Unchecked
    '★★★交互の行で使用する色をリセット★★★
    CustomerDataGrid.AlternatingRowBackground = Nothing
End Sub
C#の例
// [行の色を交互に変更する]チェック時の処理
private void chkAlternatingRowBackground_Checked(object sender, RoutedEventArgs e)
{
    SolidColorBrush Orange = new SolidColorBrush(Colors.Orange);

    // ★★★交互の行で使用する色にOrangeを設定★★★
    customerDataGrid.AlternatingRowBackground = Orange;
}

// [行の色を交互に変更する]チェックオフ時の処理
private void chkAlternatingRowBackground_Unchecked(object sender, RoutedEventArgs e)
{
    // ★★★交互の行で使用する色をリセット★★★
    customerDataGrid.AlternatingRowBackground = null;
}
ポイント

 行の色を交互に変更するには AlternatingRowBackgroundプロパティに色を設定する。
 解除する場合はAlternatingRowBackgroundプロパティにNothing(C#はNull)を設定する。

03.列の順序を変更できるかどうかを設定する

  列の順序の変更を許可するにはCanUserReorderColumnsプロパティにTrueを設定します。列の順序の変更が許可されているときは、任意の列をドラッグして入れ替えを行うことが可能です。

 下記は、列の順序を変更できるかどうかを設定する例です。[列の順序の変更を許可]にチェックが付けられているときは、ドラッグして列を入れ替えることが可能です。

列の順序を変更できるかどうかを設定する例
列の順序を変更できるかどうかを設定する例
XAMLの例
 <CheckBox Content="列の順序の変更を許可"Name="chkReorderColumns" />
<sdk:DataGrid CanUserReorderColumns="True">
 :省略
</sdk:DataGrid>
VBの例
 ' [列の順序の変更を許可]チェッック時の処理 
Private Sub chkReorderColumns_Checked(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles chkReorderColumns.Checked
    '★★★列の順序の変更を許可する★★★
    CustomerDataGrid.CanUserReorderColumns = True
End Sub

' [列の順序の変更を許可]未チェッック時の処理
Private Sub chkReorderColumns_Unchecked(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles chkReorderColumns.Unchecked
    '★★★列の順序の変更を許可しない★★★
    CustomerDataGrid.CanUserReorderColumns = False
End Sub
C#の例
private void chkReorderColumns_Checked(object sender, RoutedEventArgs e)
{
    // ★★★列の順序の変更を許可する★★★
    customerDataGrid.CanUserReorderColumns = true;
}

// [列の順序の変更を許可]未チェッック時の処理
private void chkReorderColumns_Unchecked(object sender, RoutedEventArgs e)
{
    // ★★★列の順序の変更を許可しない★★★
    customerDataGrid.CanUserReorderColumns = false;
} 
ポイント

 列の順序の変更を許可するにはCanUserReorderColumnsプロパティにTrueを設定する。

次のページ
04.データをクリップボードにコピーする方法を設定する

この記事は参考になりましたか?

Silverlight/WPFで使える逆引きTips集連載記事一覧

もっと読む

この記事の著者

HIRO(ヒロ)

HIRO's.NETのHIROです。とある半導体工場のSEです。VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。最近はBlog でPowerShellについて書いています。2008/07/07にPowerShell from Japan!!というサイトを立ち上げまし...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/6015 2011/07/06 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー