GridViewRowPresenter クラス
TOC
目次を折りたたむ
目次を展開する

GridViewRowPresenter クラス

データの行のレイアウトを指定するオブジェクトを表します。

名前空間: System.Windows.Controls
アセンブリ: PresentationFramework (presentationframework.dll 内)
XML 名前空間 :  http://schemas.microsoft.com/winfx/2006/xaml/presentation

public class GridViewRowPresenter : GridViewRowPresenterBase
public class GridViewRowPresenter extends GridViewRowPresenterBase
public class GridViewRowPresenter extends GridViewRowPresenterBase

GridViewRowPresenter クラスおよび GridViewHeaderRowPresenter クラスは ListView コントロールの GridView 表示モードをサポートします。

GridViewRowPresenter を使用して ListView コントロールで行のスタイルを設定する方法を次の例に示します。サンプル全体については、「スタイル設定された ListViewItems を持つ ListView」を参照してください。

<StackPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
			      xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'>

  <StackPanel.Resources>	
    <XmlDataProvider x:Key="MyData" XPath="/Info">
      <x:XData>
        <Info xmlns="">
          <Song Name="Song1" Time="3:54" Artist="Singer1" 
              Rating="3" Disk="Disk1" />
          <Song Name="Song2" Time="4:31" Artist="Singer2" 
              Rating="4" Disk="Disk3"/>
          <Song Name="Song3" Time="5:06" Artist="Singer3" 
              Rating="5" Disk="Disk1" />
          <Song Name="Song4" Time="4:18" Artist="Singer3" 
              Rating="2" Disk="Disk2" />
          <Song Name="Song5" Time="6:15" Artist="Singer1" 
              Rating="5" Disk="Disk3" />
        </Info>
      </x:XData>
    </XmlDataProvider>

    <ControlTemplate x:Key="Default" TargetType='{x:Type ListViewItem}'>
      <StackPanel Background="Beige">
        <GridViewRowPresenter Content="{TemplateBinding Content}"
           Columns="{TemplateBinding GridView.ColumnCollection}"/>
      </StackPanel>
    </ControlTemplate>


    <ControlTemplate x:Key="StronglyRecommended" 
                     TargetType='{x:Type ListViewItem}'>
      <StackPanel Background="Beige">
        <GridViewRowPresenter Content="{TemplateBinding Content}"
           Columns="{TemplateBinding GridView.ColumnCollection}"/>
        <TextBlock Background="LightBlue" Text="Strongly Recommended" />
      </StackPanel>
    </ControlTemplate>

    <ControlTemplate x:Key="Recommended" TargetType='{x:Type ListViewItem}'>
      <StackPanel Background="Beige">
        <GridViewRowPresenter Content="{TemplateBinding Content}"
           Columns="{TemplateBinding GridView.ColumnCollection}"/>
        <TextBlock Background="LightBlue" Text="Recommended" />
      </StackPanel>
    </ControlTemplate>

    <Style x:Key="MyHeaderStyle" TargetType="{x:Type GridViewColumnHeader}">
     <Setter Property="Background" Value="BurlyWood"/>
    </Style>
  </StackPanel.Resources>

  <ListView ItemsSource="{Binding Source={StaticResource MyData}, 
                          XPath=Song}" >

   <ListView.ItemContainerStyle>
    <Style TargetType="{x:Type ListViewItem}"  >
      <Setter Property="Template"
            Value="{StaticResource Default}"/>
      <Style.Triggers>
        <DataTrigger Binding="{Binding XPath=@Rating}" Value="5">
				<Setter Property="Template" 
                Value="{StaticResource StronglyRecommended}"/>
        </DataTrigger>
        <DataTrigger Binding="{Binding XPath=@Rating}" Value="4">
          <Setter Property="Template" 
                Value="{StaticResource Recommended}"/>
        </DataTrigger>
      </Style.Triggers>
	</Style>
  </ListView.ItemContainerStyle>

  <ListView.View>
    <GridView ColumnHeaderContainerStyle="{StaticResource MyHeaderStyle}">
      <GridViewColumn Header="Name" 
                      DisplayMemberBinding="{Binding XPath=@Name}" 
                      Width="100"/>
      <GridViewColumn Header="Time" 
                      DisplayMemberBinding="{Binding XPath=@Time}" 
                      Width="80"/>
      <GridViewColumn Header="Artist"  
                      DisplayMemberBinding="{Binding XPath=@Artist}" 
                      Width="80" />
      <GridViewColumn Header="Disk" 
                      DisplayMemberBinding="{Binding XPath=@Disk}"  
                      Width="100"/>
    </GridView>
  </ListView.View>
  </ListView>

</StackPanel>

System.Object
   System.Windows.Threading.DispatcherObject
     System.Windows.DependencyObject
       System.Windows.Media.Visual
         System.Windows.UIElement
           System.Windows.FrameworkElement
             System.Windows.Controls.Primitives.GridViewRowPresenterBase
              System.Windows.Controls.GridViewRowPresenter

この型の public static (Visual Basicでは共有) メンバはすべて,スレッド セーフです。インスタンス メンバの場合は,スレッド セーフであるとは限りません。

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

.NET Framework

サポート対象 : 3.0

コミュニティの追加

追加
表示:
© 2016 Microsoft