2011-07-12 11 views
3

今、私はWPF DataGridのRowDetails機能をXamDataGridに実装しようとしています。私が実行しようとしました(今まで失敗した)持っているもの:XamDataGridで行の詳細を実装する

1.)ExpandableFieldRecordPresenterStyle

私は自分のスタイル このスタイルは、ウィンドウのリソースに座っているとExpandableFieldRecordPresenterStyleを置き換えるFieldSettingsで

を交換し、テンプレートを設定し、/TemplateGridView(両方とも試してみました)のプロパティを自分のDataTemplate/ControlTemplate(両方を試しました)に渡しました。

スタイルは設定されていましたが、これはうまくいきませんでしたが、視覚的な表現に変更は見られませんでした。

2)は、私は自分のスタイルでDataRecordPresenterStyleを置き換えるFieldLayoutSettingsでDataRecordPresenterStyle

を交換してください。これは以前の方法と同じことであり、動作します。しかし、今では、元のDataPresenterStyleを再実装する必要があります。行の詳細コントロールを追加したいだけですが、残りの部分は変更しないでください。これは今私が立ち往生している場所です。私はinfragsticsフォーラムを研究している

<ControlTemplate x:Key="NestedRecordTemplate"> 
    <TextBlock Text="test"/> 
</ControlTemplate> 

<Style x:Key="NestedRecordStyle" TargetType="{x:Type igDP:DataRecordPresenter}"> 
    <Setter Property="Template" Value="{StaticResource NestedRecordTemplate}" /> 
</Style> 

とインターネット(第2のオプションで行くことの提案があった)、まだ解決策を見つけていない:その両方で

は私のスタイルとテンプレートは非常にシンプルである変種。これを実現する方法の一例として使用することができ、このスレッドでは例があり

答えて

3

http://community.infragistics.com/forums/p/43348/238054.aspxアレックスはスレッドで提供されるサンプルは、ドン行の詳細については、あなた場合はバインドされたフィールドを使用していることを

注意バインドするフィールドがある場合は、代わりにUnboundFieldを使用できます。次のように表示されます。

<igDP:XamDataGrid x:Name="XamDataGrid1"> 
    <igDP:XamDataGrid.FieldLayoutSettings> 
     <igDP:FieldLayoutSettings AutoGenerateFields="False"/> 
    </igDP:XamDataGrid.FieldLayoutSettings> 
    <igDP:XamDataGrid.FieldLayouts> 
     <igDP:FieldLayout> 
      <igDP:FieldLayout.Settings> 
       <igDP:FieldLayoutSettings AutoArrangeCells="Never"/> 
      </igDP:FieldLayout.Settings> 
      <igDP:FieldLayout.Fields> 
       <igDP:Field Name="EmployeeID" Row="0" Column="0"/> 
       <igDP:Field Name="Name" Row="0" Column="1"/> 
       <igDP:Field Name="OnSite" Row="0" Column="2"/> 
       <igDP:Field Name="DateOfHire" Row="0" Column="3"/> 
       <igDP:Field Name="Department" Row="0" Column="4"/> 
       <igDP:Field Name="Site" Row="0" Column="5"/> 
       <igDP:UnboundField Name="RowDetails" Row="1" Column="0" ColumnSpan="6"> 
        <igDP:UnboundField.Settings> 
         <igDP:FieldSettings> 
          <igDP:FieldSettings.LabelPresenterStyle> 
           <Style TargetType="{x:Type igDP:LabelPresenter}"> 
            <Setter Property="Visibility" Value="Collapsed"/> 
           </Style> 
          </igDP:FieldSettings.LabelPresenterStyle> 
          <igDP:FieldSettings.CellValuePresenterStyle> 
           <Style TargetType="{x:Type igDP:CellValuePresenter}"> 
            <Setter Property="Template"> 
             <Setter.Value> 
              <ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}"> 
               <StackPanel Orientation="Horizontal"> 
                <TextBlock Text="Row Details for "/> 
                <TextBlock Text="{Binding DataItem.Name}"/> 
               </StackPanel> 
               <ControlTemplate.Triggers> 
                <DataTrigger Binding="{Binding IsSelected}" Value="False"> 
                 <Setter Property="Visibility" Value="Collapsed" /> 
                </DataTrigger> 
                <DataTrigger Binding="{Binding IsSelected}" Value="True"> 
                 <Setter Property="Visibility" Value="Visible" /> 
                </DataTrigger> 
               </ControlTemplate.Triggers> 
              </ControlTemplate> 
             </Setter.Value> 
            </Setter> 
           </Style> 
          </igDP:FieldSettings.CellValuePresenterStyle> 
         </igDP:FieldSettings> 
        </igDP:UnboundField.Settings> 
       </igDP:UnboundField> 
      </igDP:FieldLayout.Fields> 
     </igDP:FieldLayout> 
    </igDP:XamDataGrid.FieldLayouts> 
</igDP:XamDataGrid> 
関連する問題