Page 2 of 2
Re: Caliburn.Noesis (Caliburn.Micro port)
Posted: 10 May 2021, 20:11
by KeldorKatarn
It is necessary. I also ran into a couple problems implementing my current sample, which is supposed to look a little more beautiful.
The most pressing things that are right now blocking me from getting it to run in Unity are these:
#2016
#2015
#2013
#2008
#2006
#2004
#1041
You can check my feature/conductor_sample branch on my Caliburn.Noesis github to see what I do with them.
https://github.com/VacuumBreather/Calib ... tor_sample
The biggest issues are there trying to create a Brush animation, a custom ItemsControl (can't define its container type) and a custom decorator border (no access to OnRender most importantly).
This is what I'm working on (WIP):
Re: Caliburn.Noesis (Caliburn.Micro port)
Posted: 24 May 2021, 03:32
by KeldorKatarn
Added some helper controls for easier transitions. Inspired by MaterialDesignInXamlToolkit but heavily refactored. I didn't enjoy that API.
Examples are in this branch
https://github.com/VacuumBreather/Calib ... ransitions
(still waiting for Noesis API to catch up before merging back. This yet again needs the methods which define container element types).
<transitions:Transitioner
x:Name="Transitioner"
AutoApplyTransitionOrigins="True"
BackwardWipe="{transitions:SlideOutWipe}"
ForwardWipe="{transitions:CircleWipe}"
IsLooping="True"
ItemsSource="{Binding Items, Mode=OneWay}"
SelectedItem="{Binding ActiveItem, Mode=TwoWay}" />
<UserControl.Resources>
<Style BasedOn="{StaticResource {x:Type TextBlock}}" TargetType="TextBlock">
<Setter Property="FontSize" Value="36" />
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="Foreground" Value="White" />
</Style>
<Style BasedOn="{StaticResource {x:Type transitions:TransitioningContentControl}}" TargetType="transitions:TransitioningContentControl">
<Setter Property="Margin" Value="10" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="TransitionTriggers" Value="IsEnabled" />
<Setter Property="TransitionDelay" Value="0:0:0.5" />
<Setter Property="TransitionEffect">
<Setter.Value>
<transitions:SlideTransition
ContainerElementName="RootGrid"
Direction="Left"
Duration="0:0:1">
<transitions:SlideTransition.EasingFunction>
<ElasticEase
EasingMode="EaseOut"
Oscillations="3"
Springiness="8" />
</transitions:SlideTransition.EasingFunction>
</transitions:SlideTransition>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<Grid x:Name="RootGrid" Background="OrangeRed">
<ItemsControl
HorizontalAlignment="Center"
VerticalAlignment="Center"
transitions:TransitionSubjectBase.CascadingDelay="0:0:0.5">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<transitions:TransitioningContentControl>
<TextBlock Text="Here" />
</transitions:TransitioningContentControl>
<transitions:TransitioningContentControl>
<TextBlock Text="we" />
</transitions:TransitioningContentControl>
<transitions:TransitioningContentControl>
<TextBlock Text="go!" />
</transitions:TransitioningContentControl>
</ItemsControl>
</Grid>
Re: Caliburn.Noesis (Caliburn.Micro port)
Posted: 25 May 2021, 12:10
by KeldorKatarn
All the current feature branches show which APIs are missing and prevent those features from being merged.
I'm deliberately trying to integrate the most useful and commonly used WPF (cool stuff) I can find, to show which APIs need to be added for Noesis
to be fully useable by an experienced WPF developer and allow for further cool WPF libraries to be ported.
The feature branches therefore show very realistic Use Cases for the missing APIs.
Re: Caliburn.Noesis (Caliburn.Micro port)
Posted: 25 May 2021, 12:19
by jsantos
All the current feature branches show which APIs are missing and prevent those features from being merged.
Thanks for this, could you please add all the pending tickets to the Caliburn metaticket (
#1038) ?
Also if you could sort by priority that would be super helpful.
Re: Caliburn.Noesis (Caliburn.Micro port)
Posted: 25 May 2021, 13:18
by KeldorKatarn
I will try to sort and add them later today :)
Re: Caliburn.Noesis (Caliburn.Micro port)
Posted: 25 May 2021, 14:55
by KeldorKatarn
Ok I added a priority to them, which I think is the right order. The Attributes are kind of low down but on the other hand should be incredibly easy to add since they're just meta data marker attributes.
The On<Event> methods and missing constructors and such are however incredibly important. Without those there's basically nothing working that I'm trying to do. And the Source/OriginalSource issue needs to be fixed. A ton of stuff relies on those properties being correct.
Re: Caliburn.Noesis (Caliburn.Micro port)
Posted: 21 Jun 2021, 04:16
by KeldorKatarn
Going into summer break with this project :) Hoping for the additional API to get this where it needs to be at the end up summer :)
I might reduce the scope slightly from a few ideas I had initally but I'd like to at least get the windowing and dialog system in there :)
And maybe the transitions.