Last modified on 25 August 2016, at 10:37

XAML

Revision as of 10:37, 25 August 2016 by JKN (Talk | contribs) (Advanced)

The WinX User Interface can be vastly customized using XAML.

Templates

The UI is controlled by several predefined XAML templates which are loaded into the App at startup. There is a set of default template deployed with the App at installation, however, each of them can be overridden by placing the respective file in the folder [AppInstallPath\LocalState\XAML

General

  • UBIKThemes.xaml

Controls the overall styling and behavior of the App, like standard Brushes (Colors) and Fonts.

AuthenticationPage

  • UBIKSplashArea.xaml
  • UBIKPageNavigation.xaml

Content Pages

  • UBIKObjectIcon.xaml
  • UBIKObjectIconSmall.xaml


RootPage

  • UBIKMainLeftArea.xaml
  • UBIKMainItem.xaml
  • UBIKMainItemSmall.xaml

ChildPage

  • UBIKChildItem.xaml
  • UBIKChildItemSmall.xaml
  • UBIKChildAction.xaml
  • UBIKPriorityPropertyItem.xaml

DetailsPage

  • UBIKDocumentItem.xaml
  • UBIKDocumentItemSmall.xaml



Specific UBIK® Elements

Converters

Basic

  • BooleanToVisibilityConverter

Converts a Boolean into a Visibility, where true will result in Visibility.Visible.

  • BooleanToCollapsedConverter

Converts a Boolean into a Visibility, where true will result in Visibility.Collapsed.

Advanced

  • StringFormatConverter

Returns a formatted string where placeholders will be filled with values supplied to its Param properties.

Evaluates a C# expression and returns the result. Example:

            <Grid>
                <Grid.Resources>
                    <!--  Instantiate the converter and bind the Context to the current DataContext, the Param0 to a UI element of this page  -->
                    <converters:EvalExpressionConverter x:Key="CodeConverter" Context="{Binding}" Param0="{Binding ElementName=ChildListView, Path=Name}" />
                </Grid.Resources>
                <StackPanel Orientation="Horizontal">
                    <!--  Create a TextBox where we can enter a C# expression  -->
                    <TextBox
                       x:Name="CodeQuery"
                       MinWidth="240" Height="40"
                       Margin="0,10,10,0" HorizontalAlignment="Right"
                       VerticalAlignment="Top"
                       FontSize="18"
                       PlaceholderText="Expression">
                    </TextBox>
                    <!--  Create a TextBlock where we display the result of the compiled expression -->
                    <TextBlock Text="{Binding ElementName=CodeQuery, Path=Text, Converter={StaticResource CodeConverter}}" />
                </StackPanel>
            </Grid>


Behaviors

Commands