Hello I want the help for fixing position of FieldLayoutSettings.
Means I don't want to scroll it with horizontal scrollbar.
As Field is having the FixedLocation property,
What is the property for FieldLayoutSettings?
Hello Pratibha,
In order to fix all fields of a specific FieldLayout, you can set the FixedLocation property of every field to the desired value.
foreach (Field field in dataGrid.DefaultFieldLayout.Fields){ field.FixedLocation = FixedFieldLocation.FixedToFarEdge;}
The FieldLayoutSettings property of the XamDataGrid is a property that sets general settings for all of it's FieldLayouts.
Would you please provide me with more detailed information on what you are referring to by saying "fix the location of FieldLayoutSettings"? It would be great if you could provide me with images that illustrate the desired behavior.
If you have any questions, please let me know.
Hello Thanks for the reply.
Yes the FixedFieldLocation.FixedToFarEdge that I already used.
But I want fix the below control,its adding the expand button(using SurveyEditorDataRecordPresenterStyle) for row in first column and I just don't want to scroll it(expand button) it with scrollbar.
Below is the code which I am using
<igDP:FieldLayoutSettings AddNewRecordLocation="OnBottom" RecordSelectorLocation="None" ExpansionIndicatorDisplayMode="Never"
SelectionTypeRecord="Single"
AllowAddNew="False"
AllowDelete="False"
AutoGenerateFields="False"
AllowFieldMoving="No" FilterUIType="LabelIcons"
DataRecordPresenterStyle ="{StaticResource SurveyEditorDataRecordPresenterStyle}"
>
</igDP:FieldLayoutSettings>
</ULSSControls:ULSSXamDataGrid.FieldLayoutSettings>
According to the description you have provided, I presume you would like to fix the RecordSelector along with the ExpansionIndicator (for hierarchical data), so they do not get scrolled out of view when scrolling horizontally in the XamDataGrid.
An approach I can suggest you in order to achieve the above functionality is to collapse the default HeaderPrefixArea and RecordSelector. This way you can create an unbound Field for both the parent and the child layout (every child layout would require an unbound Field as well in order to preserve the proper alignment of the records).After creating the unbound fields, you can create a CellValuePresenterStyle for them by including the RecordSelector element as a ControlTemplate for the parent layout. This way when these fields get fixed, you should be able to achieve the desired functionality.For more detailed information, you can take a look at the following thread.
You can always submit a new product idea for fixing the RecordSelector at http://ideas.infragistics.com.I have attached a sample application that uses the approach from above.
Hello,
Thanks for the help.
But I am using DataRecordPresenter and in solution which you provided,its having CellValuePresenter.
Can you provide me a solution with DataRecordPresenter instead ofCellValuePresenter.?
In order to use a style for the DataRecordPresenter to achieve the same functionality, an approach I can suggest you is to handle the Loaded event of the DataRecordPresenter by hooking for it with an EventSetter. This way you can explicitly get the CellValuePresenter that represents our record selector from the DataRecordPresenter and set it's respective style.Since we are using the cells of the unbound fields themselves to display the fixed record selectors (and expansion indicators), the CellValuePresenters should be retemplated in order for them to have the desired look, which cannot exclude the use of their styles.
I have attached a sample that uses the approach from above.
Can you please look into this and provide me a solution .
<ULSSControls:ULSSXamDataGrid.FieldLayoutSettings> <igDP:FieldLayoutSettings AddNewRecordLocation="OnBottom" RecordSelectorLocation="None" ExpansionIndicatorDisplayMode="Never" SelectionTypeRecord="Single" AllowAddNew="False" AllowDelete="False" AutoGenerateFields="False" AllowFieldMoving="No" FilterUIType="LabelIcons" DataRecordPresenterStyle ="{StaticResource SurveyEditorDataRecordPresenterStyle}" > </igDP:FieldLayoutSettings> </ULSSControls:ULSSXamDataGrid.FieldLayoutSettings>
And below is the style
<Style x:Key="SurveyEditorDataRecordPresenterStyle" TargetType="{x:Type igDP:DataRecordPresenter}" BasedOn="{StaticResource {x:Type igDP:DataRecordPresenter}}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type igDP:DataRecordPresenter}"> <Expander x:Name="rowExpander" PreviewMouseLeftButtonUp="RowExpanderPreviewMouseLeftButtonUp" IsExpanded="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type igDP:DataRecordPresenter}}, Path=IsActive, Converter={StaticResource recordExpansionConverter}}"> <Expander.Style> <Style TargetType="{x:Type Expander}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Expander}"> <Border BorderThickness="{TemplateBinding Border.BorderThickness}" CornerRadius="3,3,3,3" BorderBrush="{TemplateBinding Border.BorderBrush}" Background="{TemplateBinding Panel.Background}" SnapsToDevicePixels="True"> <DockPanel> <DockPanel DockPanel.Dock="Top" Name="HeaderSite"> <ToggleButton ClickMode="Press" DockPanel.Dock="Left" IsChecked="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=IsExpanded}" Foreground="{TemplateBinding TextElement.Foreground}" FontFamily="{TemplateBinding TextElement.FontFamily}" FontSize="{TemplateBinding TextElement.FontSize}" FontStretch="{TemplateBinding TextElement.FontStretch}" FontStyle="{TemplateBinding TextElement.FontStyle}" FontWeight="{TemplateBinding TextElement.FontWeight}" HorizontalContentAlignment="{TemplateBinding Control.HorizontalContentAlignment}" VerticalContentAlignment="{TemplateBinding Control.VerticalContentAlignment}" Padding="{TemplateBinding Control.Padding}" MinWidth="0" MinHeight="0" Margin="1,1,1,1" > <ToggleButton.Style> <Style TargetType="ToggleButton"> <Setter Property="Control.Template"> <Setter.Value> <ControlTemplate TargetType="ToggleButton"> <Border Padding="{TemplateBinding Control.Padding}"> <Grid Background="#00FFFFFF" SnapsToDevicePixels="False" x:Name="toggleButtonGrid"> <Grid.ColumnDefinitions> <ColumnDefinition Width="19" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Ellipse Stroke="{DynamicResource UIUXBrush_ExpanderCircle}" Name="circle" Width="19" Height="19" HorizontalAlignment="Center" VerticalAlignment="Center" /> <Ellipse Name="shadow" Width="17" Height="17" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="Hidden" /> <Path Data="M1,1.5L4.5,5 8,1.5" Stroke="{DynamicResource UIUXBrush_ExpanderArrow}" StrokeThickness="1" Name="arrow" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" SnapsToDevicePixels="False" Stretch="Uniform" Margin="3" /> </Grid> </Border> <ControlTemplate.Triggers> <Trigger Property="ToggleButton.IsChecked" Value="True" > <Setter Property="Path.Data" TargetName="arrow"> <Setter.Value> <StreamGeometry>M1,4.5L4.5,1 8,4.5</StreamGeometry> </Setter.Value> </Setter> </Trigger> <Trigger Property="UIElement.IsMouseOver" Value="True"> <Setter Property="Shape.Stroke" TargetName="circle" Value="{DynamicResource UIUXBrush_ExpanderCircleHover}"/> <Setter Property="Shape.Stroke" TargetName="arrow" Value="{DynamicResource UIUXBrush_ExpanderArrowHover}"/> <Setter Property="UIElement.Visibility" TargetName="shadow"> <Setter.Value> <x:Static Member="Visibility.Visible" /> </Setter.Value> </Setter> </Trigger> <DataTrigger Binding="{Binding Path=DataItem.IsInterpolated,UpdateSourceTrigger=PropertyChanged}" Value="true"> <Setter TargetName="toggleButtonGrid" Property="Visibility" Value="Collapsed"/> </DataTrigger> <DataTrigger Binding="{Binding Path=DataItem.QCStatus,UpdateSourceTrigger=PropertyChanged}" Value="None"> <Setter TargetName="toggleButtonGrid" Property="Visibility" Value="Hidden"/> </DataTrigger> <DataTrigger Binding="{Binding Path=DataItem.Status.DisplayString,UpdateSourceTrigger=PropertyChanged}" Value="Projected"> <Setter TargetName="toggleButtonGrid" Property="Visibility" Value="Collapsed"/> </DataTrigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </ToggleButton.Style> <ToggleButton.FocusVisualStyle> <Style TargetType="IFrameworkInputElement"> <Setter Property="Control.Template"> <Setter.Value> <ControlTemplate> <Border> <Rectangle Stroke="#FF000000" StrokeThickness="1" StrokeDashArray="1 2" Margin="0,0,0,0" SnapsToDevicePixels="True" /> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> </ToggleButton.FocusVisualStyle> </ToggleButton> <Image> <Image.Style> <Style TargetType="Image" BasedOn="{StaticResource InterpolateGridStyle}"> <Setter Property="Visibility" Value="Collapsed"/> <Style.Triggers> <DataTrigger Binding="{Binding DataItem.Status.DisplayString}" Value="Projected"> <Setter Property="Source" Value="{StaticResource ProjectedSurveyGridImage}"/> <Setter Property="Visibility" Value="Visible"/> </DataTrigger> <DataTrigger Binding="{Binding DataItem.IsInterpolated}" Value="true"> <Setter Property="Source" Value="{StaticResource InterpolateGridImage}"/> <Setter Property="Visibility" Value="Visible"/> </DataTrigger> </Style.Triggers> </Style> </Image.Style> </Image> <ContentPresenter RecognizesAccessKey="True" Content="{TemplateBinding HeaderedContentControl.Header}" ContentTemplate="{TemplateBinding HeaderedContentControl.HeaderTemplate}" ContentStringFormat="{TemplateBinding HeaderedContentControl.HeaderStringFormat}" Margin="4,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Center" SnapsToDevicePixels="True" /> </DockPanel> <ContentPresenter Content="{TemplateBinding ContentControl.Content}" ContentTemplate="{TemplateBinding ContentControl.ContentTemplate}" ContentStringFormat="{TemplateBinding ContentControl.ContentStringFormat}" Name="ExpandSite" Margin="{TemplateBinding Control.Padding}" HorizontalAlignment="{TemplateBinding Control.HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding Control.VerticalContentAlignment}" Visibility="Collapsed" Focusable="False" DockPanel.Dock="Bottom" /> </DockPanel> </Border> <ControlTemplate.Triggers> <Trigger Property="Expander.IsExpanded"> <Setter Property="UIElement.Visibility" TargetName="ExpandSite"> <Setter.Value> <x:Static Member="Visibility.Visible" /> </Setter.Value> </Setter> <Trigger.Value> <System:Boolean>True</System:Boolean> </Trigger.Value> </Trigger> <Trigger Property="UIElement.IsEnabled"> <Setter Property="TextElement.Foreground"> <Setter.Value> <DynamicResource ResourceKey="{x:Static SystemColors.GrayTextBrushKey}" /> </Setter.Value> </Setter> <Trigger.Value> <System:Boolean>False</System:Boolean> </Trigger.Value> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> <Style.Triggers> <Trigger Property="IsExpanded" Value="True"> <Setter Property="Background" Value="{DynamicResource UIUXBrush_ExpandableDataRecordPresenterBackground}"/> <Setter Property="Border.BorderBrush" Value="{DynamicResource UIUXBrush_DataRecordPresenterRowDetailBorder}"/> </Trigger> </Style.Triggers> </Style> </Expander.Style> <Expander.Header> <Border x:Name="baseGrid" Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}"> <igWindows:CardPanel> <Border x:Name="addRowFooter" RenderTransform="{TemplateBinding FixedNearElementTransform}" Background="{DynamicResource {ComponentResourceKey {x:Type igDP:XamDataGrid}, AddRowBackground}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Visibility="Collapsed"/> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> <Border x:Name="OrientationHorizontalSep" Grid.ColumnSpan="6" Background="#FFFAFAFA" BorderBrush="#FFE7E7E7" BorderThickness="0,0,1,0" Visibility="Collapsed"/> <igWindows:ExpansionIndicator x:Name="ExpansionIndicator" Grid.Column="1" Grid.Row="3" Panel.ZIndex="1" Command="{x:Static igDP:DataPresenterCommands.ToggleRecordIsExpanded}" CommandParameter="{TemplateBinding Record}" IsChecked="{Binding Path=IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" RenderTransform="{TemplateBinding FixedNearElementTransform}" ToggleMode="Manual" Visibility="{Binding Path=ExpansionIndicatorVisibility, RelativeSource={RelativeSource TemplatedParent}}"/> <Border x:Name="SpacerFill" Grid.Column="1" Grid.ColumnSpan="6" Grid.Row="1" RenderTransform="{TemplateBinding FixedNearElementTransform}" Background="{TemplateBinding HeaderAreaBackground}"/> <ContentPresenter x:Name="PART_HeaderContentSite" Grid.Column="3" Grid.Row="1" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Content="{TemplateBinding HeaderContent}" d:IsHidden="True" Visibility="Visible"/> <Border x:Name="RecordSeparator" Grid.Column="1" Grid.ColumnSpan="6" Grid.Row="2" RenderTransform="{TemplateBinding FixedNearElementTransform}" Style="{DynamicResource {ComponentResourceKey {x:Type igDP:XamDataGrid}, RecordSeparatorStyle}}" Height="3" Visibility="Collapsed" Background="{StaticResource FilterCellValuePresenterStrokeActive}" BorderBrush="{StaticResource FilterCellValuePresenterStrokeActive}"/> <ContentPresenter x:Name="PART_RecordContentSite" Grid.Column="3" Grid.Row="3" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Content="{TemplateBinding DataContext}" ContentTemplate="{TemplateBinding RecordContentAreaTemplate}"/> <!-- Nested Content --> <Border x:Name="PART_NestedContentSite" Grid.Column="3" Grid.Row="5" HorizontalAlignment="Left" VerticalAlignment="Top" Background="{TemplateBinding NestedContentBackground}" RenderTransform="{TemplateBinding FixedNearElementTransform}" Visibility="Visible"> <ContentControl x:Name="contentControl" Content="{TemplateBinding NestedContent}" RenderTransform="{TemplateBinding ScrollableElementTransform}"/> </Border> </Grid> </igWindows:CardPanel> </Border> </Expander.Header> <ScrollViewer ContentTemplate="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type igDP:XamDataGrid}}, Path=RowDetailsTemplate}" Content="{Binding DataItem}" VerticalScrollBarVisibility="Auto"/> </Expander> <ControlTemplate.Triggers> <!-- AS 11/8/11 TFS88111 --> <MultiDataTrigger> <MultiDataTrigger.Conditions> <Condition Binding="{Binding Path=FieldLayout.AutoFitToWidth}" Value="True"/> <Condition Binding="{Binding Path=Orientation, RelativeSource={RelativeSource Self}}" Value="Vertical"/> </MultiDataTrigger.Conditions> <Setter TargetName="PART_HeaderContentSite" Property="Grid.ColumnSpan" Value="3"/> <Setter TargetName="PART_RecordContentSite" Property="Grid.ColumnSpan" Value="3"/> <Setter Property="HorizontalContentAlignment" Value="Stretch"/> </MultiDataTrigger> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="Orientation" Value="Vertical"/> <Condition Property="IsHeaderRecord" Value="True"/> </MultiTrigger.Conditions> <Setter TargetName="SpacerFill" Property="BorderBrush" Value="{StaticResource LabelPresenterOuterBorderBrush}"/> <Setter TargetName="SpacerFill" Property="BorderThickness" Value="0"/> </MultiTrigger> <Trigger Property="Orientation" Value="Horizontal"> <Setter TargetName="PART_HeaderContentSite" Property="Grid.Row" Value="3"/> <Setter TargetName="PART_HeaderContentSite" Property="Grid.Column" Value="1"/> <Setter TargetName="PART_NestedContentSite" Property="Grid.Row" Value="3"/> <Setter TargetName="PART_NestedContentSite" Property="Grid.Column" Value="5"/> <Setter TargetName="PART_RecordContentSite" Property="VerticalAlignment" Value="Top"/> <Setter TargetName="ExpansionIndicator" Property="Grid.Row" Value="1"/> <Setter TargetName="ExpansionIndicator" Property="Margin" Value="0,2"/> <Setter TargetName="ExpansionIndicator" Property="Grid.Column" Value="3"/> <Setter TargetName="SpacerFill" Property="Grid.ColumnSpan" Value="1"/> <Setter TargetName="SpacerFill" Property="Grid.RowSpan" Value="6"/> <Setter TargetName="RecordSeparator" Property="Width" Value="10"/> <Setter TargetName="RecordSeparator" Property="Height" Value="Auto"/> <Setter TargetName="RecordSeparator" Property="BorderThickness" Value="1,0"/> <Setter TargetName="OrientationHorizontalSep" Property="Visibility" Value="Visible"/> </Trigger> <Trigger Property="ShouldDisplayRecordContent" Value="False"> <Setter TargetName="PART_RecordContentSite" Property="Visibility" Value="Collapsed"/> </Trigger> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="ShouldDisplayRecordContent" Value="False"/> <Condition Property="IsHeaderRecord" Value="False"/> <Condition Property="ExpansionIndicatorVisibility" Value="Visible"/> </MultiTrigger.Conditions> <Setter TargetName="ExpansionIndicator" Property="Visibility" Value="Hidden"/> </MultiTrigger> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="Orientation" Value="Horizontal"/> <Condition Property="ShouldDisplayRecordContent" Value="False"/> </MultiTrigger.Conditions> <Setter TargetName="ExpansionIndicator" Property="Grid.Column" Value="4"/> </MultiTrigger> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="Orientation" Value="Vertical"/> <Condition Property="ShouldDisplayRecordContent" Value="False"/> </MultiTrigger.Conditions> <Setter TargetName="ExpansionIndicator" Property="Grid.Row" Value="4"/> </MultiTrigger> <Trigger Property="IsHeaderRecord" Value="True"> <Setter TargetName="ExpansionIndicator" Property="Grid.Row" Value="1"/> <Setter TargetName="ExpansionIndicator" Property="Grid.Column" Value="1"/> <Setter TargetName="rowExpander" Property="Style" Value="{StaticResource invisibleExpanderStyle}"/> <Setter Property="Height" Value="Auto"/> </Trigger> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="IsHeaderRecord" Value="True"/> <Condition Property="ExpansionIndicatorVisibility" Value="Visible"/> </MultiTrigger.Conditions> <Setter TargetName="ExpansionIndicator" Property="Visibility" Value="Hidden"/> </MultiTrigger> <Trigger Property="HasHeaderContent" Value="False"> <Setter TargetName="SpacerFill" Property="Visibility" Value="Collapsed"/> <Setter TargetName="PART_HeaderContentSite" Property="Visibility" Value="Collapsed"/> </Trigger> <Trigger Property="HasNestedContent" Value="true"> <Setter TargetName="PART_NestedContentSite" Property="Visibility" Value="Visible"/> <Setter TargetName="baseGrid" Property="Background" Value="{Binding Path=Background, RelativeSource={RelativeSource TemplatedParent}}"/> </Trigger> <Trigger Property="HasNestedContent" Value="False"> <Setter TargetName="PART_NestedContentSite" Property="Visibility" Value="Collapsed"/> </Trigger> <MultiDataTrigger> <MultiDataTrigger.Conditions> <Condition Binding="{Binding Path=IsSpecialRecord}" Value="true"/> <Condition Binding="{Binding Path=IsFixedOnTop, RelativeSource={RelativeSource Self}}" Value="true"/> </MultiDataTrigger.Conditions> <Setter TargetName="addRowFooter" Property="Visibility" Value="Visible"/> <Setter TargetName="addRowFooter" Property="Background" Value="{DynamicResource {ComponentResourceKey {x:Type igDP:XamDataGrid}, FixedRecord}}"/> <Setter TargetName="addRowFooter" Property="BorderThickness" Value="0,0,0,1"/> <Setter Property="Margin" Value="0,0,0,0"/> </MultiDataTrigger> <MultiDataTrigger> <MultiDataTrigger.Conditions> <Condition Binding="{Binding Path=IsSpecialRecord}" Value="true"/> <Condition Binding="{Binding Path=IsFixedOnBottom, RelativeSource={RelativeSource Self}}" Value="true"/> </MultiDataTrigger.Conditions> <Setter TargetName="addRowFooter" Property="Visibility" Value="Visible"/> <Setter TargetName="addRowFooter" Property="BorderThickness" Value="0,1,0,0"/> <Setter TargetName="addRowFooter" Property="Background" Value="{DynamicResource {ComponentResourceKey {x:Type igDP:XamDataGrid}, FixedRecord}}"/> <Setter Property="Margin" Value="0,1,0,0"/> </MultiDataTrigger> <Trigger Property="HasSeparatorBefore" Value="true"> <Setter TargetName="RecordSeparator" Property="Visibility" Value="Visible"/> </Trigger> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="HasSeparatorAfter" Value="true"/> <Condition Property="Orientation" Value="Vertical"/> </MultiTrigger.Conditions> <Setter TargetName="RecordSeparator" Property="Visibility" Value="Visible"/> <Setter TargetName="RecordSeparator" Property="Grid.Row" Value="4"/> </MultiTrigger> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="HasSeparatorAfter" Value="true"/> <Condition Property="Orientation" Value="Horizontal"/> </MultiTrigger.Conditions> <Setter TargetName="RecordSeparator" Property="Visibility" Value="Visible"/> <Setter TargetName="RecordSeparator" Property="Grid.Column" Value="4"/> <Setter TargetName="RecordSeparator" Property="Grid.ColumnSpan" Value="1"/> <Setter TargetName="RecordSeparator" Property="Grid.Row" Value="1"/> <Setter TargetName="RecordSeparator" Property="Grid.RowSpan" Value="6"/> </MultiTrigger> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="HasSeparatorBefore" Value="true"/> <Condition Property="Orientation" Value="Horizontal"/> </MultiTrigger.Conditions> <Setter TargetName="RecordSeparator" Property="Grid.Column" Value="2"/> <Setter TargetName="RecordSeparator" Property="Grid.ColumnSpan" Value="1"/> <Setter TargetName="RecordSeparator" Property="Grid.Row" Value="1"/> <Setter TargetName="RecordSeparator" Property="Grid.RowSpan" Value="6"/> </MultiTrigger> <Trigger Property="IsFilteredOut" Value="True"> <Setter TargetName="PART_RecordContentSite" Property="Opacity" Value="0.35"/> </Trigger> <MultiDataTrigger> <MultiDataTrigger.Conditions> <Condition Binding="{Binding Path=FieldLayout.ChildRecordsDisplayOrderResolved}" Value="BeforeParent"/> <Condition Binding="{Binding Path=Orientation, RelativeSource={RelativeSource Self}}" Value="Vertical"/> </MultiDataTrigger.Conditions> <Setter TargetName="PART_NestedContentSite" Property="Grid.Row" Value="0"/> </MultiDataTrigger> <MultiDataTrigger> <MultiDataTrigger.Conditions> <Condition Binding="{Binding Path=FieldLayout.ChildRecordsDisplayOrderResolved}" Value="BeforeParent"/> <Condition Binding="{Binding Path=Orientation, RelativeSource={RelativeSource Self}}" Value="Horizontal"/> </MultiDataTrigger.Conditions> <Setter TargetName="PART_NestedContentSite" Property="Grid.Column" Value="0"/> </MultiDataTrigger> <MultiDataTrigger> <MultiDataTrigger.Conditions> <Condition Binding="{Binding Path=FieldLayout.ChildRecordsDisplayOrderResolved}" Value="BeforeParentHeadersAttached"/> <Condition Binding="{Binding Path=Orientation, RelativeSource={RelativeSource Self}}" Value="Vertical"/> </MultiDataTrigger.Conditions> <Setter TargetName="PART_NestedContentSite" Property="Grid.Row" Value="0"/> </MultiDataTrigger> <MultiDataTrigger> <MultiDataTrigger.Conditions> <Condition Binding="{Binding Path=FieldLayout.ChildRecordsDisplayOrderResolved}" Value="BeforeParentHeadersAttached"/> <Condition Binding="{Binding Path=Orientation, RelativeSource={RelativeSource Self}}" Value="Horizontal"/> </MultiDataTrigger.Conditions> <Setter TargetName="PART_NestedContentSite" Property="Grid.Column" Value="0"/> </MultiDataTrigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style>
Thanks and regards,
Pratibha.
I have attached a .zip file that contains a modification of your style, along with the .cs file for the DataRecordPresenter's Loaded event.Please note that in order for the code to work, you will have to set your UnboundFields' Tag property to "selectorFieldCell" and set the Key property of your parent layout to "parentLayout".
I tried to apply the solution provided by you.
But its not working for me.
There is no any direct property for fieldlayoutsettings?
Regardless of the approach you would like to use, the CellValuePresenter style should be used in order to properly visualize the custom fixed RecordSelector (and ExpansionIndicator). Since the FieldLayoutSettings exposes a DataRecordPresenterStyle property only, setting the cell style should be done through it for every record's cells as I have done in the modified sample from above.
If you require any further assistance on the matter, please let me know.