Description
Contains definition of an expandable zone.
Members
Name | Identifier. |
Style | typically, always {StaticResource NavigatorExpander}. |
Grid.Column | Position. |
ExpandDirection | Expand direction. |
IsExpanded | Default status, true or false. |
HorizontalAlignment | Alignment. |
Margin | Margin. |
Expander.Header | Non-expandable part definition. |
NavigatorControl | Contains the definition of an embedded navigator. |
Remarks
Under the Grid section, typically after ColumnDefinitions section, in the main tabs definition, or within <l:NavigatorControl section of navigators, you can find a named Expander section.
There are 31 such sections in various main tabs and navigators in the Ted4_TabItems.xml and Fred4_TabItems.xml files and all have various names: "LeftExpander" (9 instances), "RightExpander" (4 instances), "SearchLeftExpander" (3 instances), "SearchRightExpander" (3 instances), "PubDestsExpander", etc.
The screenshot above shows how various expanders appear on screen.
1.The small expander button < regards the left tray (not used), and the code that starts with <l:ToolBarTrayExpander Name="ExpDockLeft"
2.The zone with this expander < button in the circle and the vertical Navigator label, is the main navigator expander and it's defined in Expander.Header section.
3.This vertical expander button before refresh button expands/collapses the search criteria zone (for Articles navigator, <Expander Name="ArticlesExpander" within <l:ShellTabItem x:Name="Ted4Articles"...).
4.The small expander button, where available, expands the draft view (for Articles navigator, <l:ToolBarTrayExpander IsExpanded="False" Margin="6,0,0,0" Name="RightPanel"...).
Typically, "LeftExpander" expands or collapse the entire navigator. It contains the Header part and the NavigatorControl part. |
The <Expander section within a navigator definition defines the vertical expander for the search criteria zone. The section contains: •The header zone that always remains on screen (ie. not subject of collapsing/expanding) •The collapsible/expandable zone (the code below </Expander.Header>) Header Within the header of the expander (ie. the zone that always remains on screen), are placed, inside a <StackPanel: • •Saved search control (by the <l:SavedSearchControl... whose SearchCriteriaTarget attribute binds to the search field definitions through {Binding Path=(l:ShellData.ShellData).SearchCriteria[ArticleSearch]) Collapsible zone with search fields In the collapsible zone are placed the search fields, by the <l:SearchConditionsControl that populates the zone with search fields, and whose SearchCriteriaTarget attribute binds to the search field definitions through {Binding Path=(l:ShellData.ShellData).SearchCriteria[ArticleSearch] (look for Name="ArticleSearch" in the ShellData, under <l:SearchCriteria lines, and then locate the value of the SearchName in the same line; look for that value the Ted4_Config.xml, under the BaseQuery name, specified as <Expander Name="ArticlesExpander" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" IsExpanded="True"> <Expander.Header> <StackPanel Orientation="Horizontal" Grid.Row="0" HorizontalAlignment="Right" VerticalAlignment="Center" > <l:RefreshButton IsDefault="True" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="2,2,2,2" Command="{x:Static l:Commands.Script}" CommandParameter="Refresh"/> <l:SavedSearchControl MinWidth="200" MaxWidth="300" Grid.Column="1" HorizontalAlignment="Left" SearchCriteriaTarget="{Binding Path=(l:ShellData.ShellData).SearchCriteria[ArticleSearch], RelativeSource={RelativeSource Self}}"/> </StackPanel> </Expander.Header> <l:SearchConditionsControl SearchCriteriaTarget="{Binding Path=(l:ShellData.ShellData).SearchCriteria[ArticleSearch], RelativeSource={RelativeSource Self}}"/> </Expander> Locating search fields from this position To locate search fields that are displayed by <l:SearchConditionsControl SearchCriteriaTarget=", first identify the search criteria name (.SearchCriteria[ArticleSearch]) in the same line. Then, scroll up to the first ShellData.ShellData section, and look there in the <l:SearchCriteria lines to find Name="ArticleSearch". In the same line, locate the base query name (value of the BaseQueryName="...") and the search name (value of the Search="..."). With the first value, search the xxx_Config.xml to locate the base query section. With the second value, within the base query section, look for <searchObjectUI name="...". About search fields placement All placement of search fields is "black-boxed" in the <l:SearchConditionsControl and you cannot do much about it, except to play around with the labelPosition and orientation attributes under the <searchObjectUI name="...". related section in xxx_Config.xml. labelPosition can be "Above" or "Side", and orientation can be "Horizontal" or "Vertical". |
Some navigators have an expandable section of the item properties, created by another <Expander control. It provides this user interface: <Expander Grid.Row="4" Width="{Binding Path=ActualWidth, ElementName=ResultView}"> <ScrollViewer VerticalScrollBarVisibility="Auto" MaxHeight="400"> ShellMode="Update" SearchCriteriaSource="{Binding Path=(l:ShellData.ShellData).SearchCriteria[ArticleResultView], RelativeSource={RelativeSource Self}}" EditObjectUIGroupName="objectInfoGroup" PostApplyCommand="{x:Static l:Commands.Script}" PostApplyCommandParameter="Refresh" /> </ScrollViewer> </Expander> |
See also