Jump to: navigation, search

Difference between revisions of "XAML Changes in UBIK WinX 3.5"


(AR related refactoring)
 
Line 15: Line 15:
 
             <converters:CollectionToViewConverter x:Key="FilterByMetaClass" Source="{Binding Children.Items}" />
 
             <converters:CollectionToViewConverter x:Key="FilterByMetaClass" Source="{Binding Children.Items}" />
 
         </Grid.Resources>
 
         </Grid.Resources>
         <ListView ...
+
         <SelectionBoundListView ...
 
             ItemsSource="{Binding Source={StaticResource MetaClassExpression}, Converter={StaticResource FilterByMetaClass}}"/>
 
             ItemsSource="{Binding Source={StaticResource MetaClassExpression}, Converter={StaticResource FilterByMetaClass}}"/>
 
     </Grid>
 
     </Grid>
Line 30: Line 30:
 
             <cv:ListCollectionView x:Key="FilterByMetaClass" Expression="{StaticResource MetaClassExpression}" ItemsSource="{Binding Children.Items}" />
 
             <cv:ListCollectionView x:Key="FilterByMetaClass" Expression="{StaticResource MetaClassExpression}" ItemsSource="{Binding Children.Items}" />
 
         </Grid.Resources>
 
         </Grid.Resources>
         <ListView ...
+
         <SelectionBoundListView ...
 
             ItemsSource="{StaticResource FilterByMetaClass}"/>
 
             ItemsSource="{StaticResource FilterByMetaClass}"/>
 
     </Grid>
 
     </Grid>
Line 68: Line 68:
 
Now in version 3.5, it needs to be changed to <source lang = "xml">{Binding ContentViewModel.ClassificationHandler.StatusColor, ...}</source>
 
Now in version 3.5, it needs to be changed to <source lang = "xml">{Binding ContentViewModel.ClassificationHandler.StatusColor, ...}</source>
  
[[Category:Client|XAML Changes in UBIK WinX 3.5]]
+
 
[[Category:Version 3.5|XAML Changes in UBIK WinX 3.5]]
+
 
[[Category:WinX|XAML Changes in UBIK WinX 3.5]]
+
 
  
 
== Bugfix related ==
 
== Bugfix related ==

Latest revision as of 09:38, 24 February 2020

Due to the changes we made in the UBIK® WinX client, certain modifications in the customizable XAML templates are required. Please refer to each individual change to see whether your existing templates might still be compatible.

  • If not compatible, you must modify those templates or the relevant features will no longer function;
  • If compatible, your existing templates can still be used. Nevertheless, we recommend updating them as soon as possible since all future bugfixes, improvements, etc. will not apply otherwise.

Filtering by expressions

Customizers can define expressions in XAML to get different filtered lists of content (objects, properties, etc.). This was done previously using the CollectionToViewConverter. It is now replaced by the ListCollectionView. Existing XAMLs are still compatible.

Before 3.5

<DataTemplate ...
   xmlns:converters="using:UBIK.WinX.Converters">
    <Grid>
        <Grid.Resources>
            <x:String x:Key="MetaClassExpression">Item.Content.MetaUID.ToString().ToLower()==&quot;D09E0F2E-1D2C-49C5-8285-585E2C83280C&quot;</x:String>
            <converters:CollectionToViewConverter x:Key="FilterByMetaClass" Source="{Binding Children.Items}" />
        </Grid.Resources>
        <SelectionBoundListView ...
           ItemsSource="{Binding Source={StaticResource MetaClassExpression}, Converter={StaticResource FilterByMetaClass}}"/>
    </Grid>
</DataTemplate>

After 3.5

<DataTemplate ...
   xmlns:cv="using:UBIK.WinX.UI.CollectionView">
    <Grid>
        <Grid.Resources>
            <x:String x:Key="MetaClassExpression">Item.Content.MetaUID.ToString().ToLower()==&quot;D09E0F2E-1D2C-49C5-8285-585E2C83280C&quot;</x:String>
            <cv:ListCollectionView x:Key="FilterByMetaClass" Expression="{StaticResource MetaClassExpression}" ItemsSource="{Binding Children.Items}" />
        </Grid.Resources>
        <SelectionBoundListView ...
           ItemsSource="{StaticResource FilterByMetaClass}"/>
    </Grid>
</DataTemplate>

AR related refactoring

The AR related view models are restructured and cleaned up. Existing XAMLs are NOT compatible and must be updated according to the table below.

XAML template Binding content in V.3.4 Binding content in V.3.5
UBIKXXXPOI
UBIKPOIFlyout
Content.XXX ContentViewModel.XXX
Name ContentViewModel.Title
Description ContentViewModel.SubTitle
Image Icon
UBIKDirectPOI ShowInCameraView IsVisible
UBIKGeoPOI ShowInGlobalView IsVisible
GeoLocation.XXX GeoCoordinates.XXX
UBIKIDPOI ShowInLocalView IsVisible
UBIKUserPin(Small) Attitude.XXX Orientation.XXX
XXX is a placeholder text. For example, the UBIKMapPOI template in version 3.4 had a binding
{Binding Content.ClassificationHandler.StatusColor, ...}
Now in version 3.5, it needs to be changed to
{Binding ContentViewModel.ClassificationHandler.StatusColor, ...}



Bugfix related

A few bugfixes we included in version 3.5 require some modifications in the XAML templates. If you have customized the following templates, we recommend that you fetch their latest default version and customize them again.

  • UBIKPOIFlyout;
  • UBIKEdit.