Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 14:03

    delete-merged-branch[bot] on 20210805-140330

    (compare)

  • 14:03

    GeertvanHorrik on develop

    GitHubSync update Merge pull request #1845 from C… (compare)

  • 14:03
    GeertvanHorrik closed #1845
  • 14:03
    GeertvanHorrik opened #1845
  • 14:03

    GeertvanHorrik on 20210805-140330

    GitHubSync update (compare)

  • 12:50

    delete-merged-branch[bot] on 20210805-124943

    (compare)

  • 12:50

    GeertvanHorrik on develop

    GitHubSync update Merge pull request #1844 from C… (compare)

  • 12:50
    GeertvanHorrik closed #1844
  • 12:49
    GeertvanHorrik opened #1844
  • 12:49

    GeertvanHorrik on 20210805-124943

    GitHubSync update (compare)

  • 12:32
    GeertvanHorrik closed #1797
  • 12:11

    delete-merged-branch[bot] on 20210805-121056

    (compare)

  • 12:11

    GeertvanHorrik on develop

    GitHubSync update Merge pull request #1843 from C… (compare)

  • 12:11
    GeertvanHorrik closed #1843
  • 12:11
    GeertvanHorrik opened #1843
  • 12:11

    GeertvanHorrik on 20210805-121056

    GitHubSync update (compare)

  • Jul 31 13:25

    delete-merged-branch[bot] on 20210731-132537

    (compare)

  • Jul 31 13:25

    GeertvanHorrik on develop

    GitHubSync update Merge pull request #1842 from C… (compare)

  • Jul 31 13:25
    GeertvanHorrik closed #1842
  • Jul 31 13:25
    GeertvanHorrik opened #1842
Ghost
@ghost~5da242acd73408ce4fcdaa63
I'd probably not use the CollectionChanged event within it but CollectionItemPropertyChanged is what I actually need so this eliminates an extension method that has a lot of boiler plate
rfuzzo
@rfuzzo

Hello! I have a question about MVVM patterns and ribbons in Catel+Orchestra+Fluent.
I want to have my ribbonView to have its own viewmodel, as does the mainview orchestra uses.

  • I'm using ApplicationCommandContainers as much as possible for the ribbon, which works great. so far so good
  • but there are instances where the RibbonViewModel should have access to the MainViewModel (contextual tabs e.g., commands targeting the mainViewModel e.g.)
  • what is the intended pattern here? is it possible to resolve a MainViewModel reference with dependency injection? (I haven't found an example for that yet).
  • the documentation here doesn't quite fit I think, since I'm not talking models really: https://catelproject.atlassian.net/wiki/spaces/CTL/pages/1409119/Introduction+to+the+nested+user+controls+problem

thank you in advance!

Geert van Horrik
@GeertvanHorrik
It's better not to directly rely on other vm's to be alive. To share data / state, it's best to use services (long-living objects where vm's are short living objects)
if you need commands to be existing on other vms, it's best to register a ComposeCommand. In the main vm, you can Add an action to that composite VM and unregister it when the vm gets closed. This way, the command is a long-living object (always available), but vms can subscribe to it. A great example is Refresh, where you have 1 Refresh command, and each VM that has refresh capabilities can add an action to this composite command.
rfuzzo
@rfuzzo

hmm thank you! yes, the service approach is definitely better. (and thanks, I'll have a look at ComposeCommands as well! )
I just had a look at the CsvTextEditor where a lot of the action also happens in the IProjectManager and Command containers - this is probably worth looking into)

my questions comes from trying to implement Dirkster99.AvalonDock+Mlib theming in the Orc+Fluent app. not as easy as I had thought :D
they had a ThemeViewModel inside the MainViewModel. I should probably move the themeing into a Service tho...

anyways. thanks for the quick reply!
Geert van Horrik
@GeertvanHorrik
You might want to look into Orc.Theming for tehming
rfuzzo
@rfuzzo
ohh thank you! that might be the better approach...
Ghost
@ghost~5da242acd73408ce4fcdaa63
@GeertvanHorrik I didn't want to piggy back this onto the issue comments but just as another curve ball it appears there is an ongoing effort to introduce an MVVM framework within the Windows Community Toolkit so I'm not sure what that will result in
Geert van Horrik
@GeertvanHorrik
Yes, I've seen. It looks like a MVVMLight clone, which works great for a lot of people.
We are not interested in doing a rewrite of our components at any stage. If we would do a rewrite, it would be non-windows (web / blazor). It seems Microsoft can't get their head straight around their XAML technology.
Ghost
@ghost~5da242acd73408ce4fcdaa63
I don't think they will, even Avalon seems a mess
Geert van Horrik
@GeertvanHorrik
I think Avalon is non-msft?
Ghost
@ghost~5da242acd73408ce4fcdaa63
Is it? I've only had minor exposure to it and wasn't keen on it and I also think that XAML Standard also went no where
Geert van Horrik
@GeertvanHorrik
I believe the codename for WPF was Avalon, and some non-msft did a great attempt to make wpf cross-platform (which is amazing what they have accomplished with which I believe is a small team compared to MSFT with nearly unlimited budgets)
Ghost
@ghost~5da242acd73408ce4fcdaa63
Ah it looks like it's just part of the .NET Foundation so yeah it's non-MSFT but has some recognition
Geert van Horrik
@GeertvanHorrik
btw we have enabled github discussions in Catel so we can keep everything on GitHub now
Ghost
@ghost~5da242acd73408ce4fcdaa63
I'll have to take a look, I don't utilize GitHub heavily these days since everything for us was migrated to Azure DevOps permanently.
Geert van Horrik
@GeertvanHorrik
I don't know how much Azure DevOps there will be now GitHub is at the same feature level. With the workflows / build agents, I think Azure DevOps has no more reason to exist (both owned by msft)
Ghost
@ghost~5da242acd73408ce4fcdaa63
Not sure, could be a concern as we leverage on-prem build agents for our release pipelines
as well as the artifact hosting so it might present some fun issues later
Geert van Horrik
@GeertvanHorrik
Yeah, they surely want you to use those cloud minutes for your builds so I don't think GH will support custom build agents. We use Continua CI so we have everything under control with fast local builds.
Ghost
@ghost~5da242acd73408ce4fcdaa63
Yeah that would be a deal breaker for us because our database release pipelines rely on dacpac deployments via nuget and windows auth so GitHub would be out in that regard
mcpherson-sa
@mcpherson-sa
I have VS installed in a non-default location and I noticed that the Cael source fails to build in this case. After some digging I found that in the relevant cake file. in which teh code looks in a number preset locations to try and find various editions of VS. Whilst it was easy enough to make the necessary change to the cake file to make the build work, it would be nice to build something into the scripts to handle this out of the box. Simplest thing would be to just provide a way to configure it without modifying the checked in cake files or try to find it automatically - maybe something like the approach here: https://stackoverflow.com/questions/30504/programmatically-retrieve-visual-studio-install-directory in the answer by lauxjpn. Other approaches on this page that try to read HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\<version>\InstallDir don't seem to work anymore as that key doesn't exist on my machine (I have 2019 pro).
Geert van Horrik
@GeertvanHorrik
Good points @mcpherson-sa . Could you please raise a GitHub issue instead so we can mark this>
2 replies
Offline
@Offline-R503B

@GeertvanHorrik Hello, we are using Catel in our project with fody.

We are getting this : https://media.discordapp.net/attachments/717720094196760760/810377190934970388/unknown.png

This shows after first time pressing build and we always have to press build a 2nd time.

I wasn't able to find good information on what can cause this.

So if you can help out here that would be lovely.

Geert van Horrik
@GeertvanHorrik
@Offline-R503B , please create a ticket in Catel.Fody repository with a repro and I can take a look
Offline
@Offline-R503B
Alright.
How would i go about posting a repro about an issue i can not locate?
since obviously as i stated before we cant find any documentation on what can cause this, nor does it give us any indication where it originates from.
Geert van Horrik
@GeertvanHorrik
@Offline-R503B , is the repro public? Then that's the repro ;-)
Offline
@Offline-R503B
Aweseome I am putting up the issue now
Offline
@Offline-R503B
@GeertvanHorrik Thanks again , A small after effect i just noticed :
image.png
Is this something we should worry about?
Ah nvm i see what i did
Obviously if you remove old packages. They cant be referenced :D
Geert van Horrik
@GeertvanHorrik
:)
So do I understand correctly the issue with Fody is fully addressed?
Offline
@Offline-R503B
Yea, so far so good :D
Really improves the workflow :)
Offline
@Offline-R503B
@GeertvanHorrik I think I found out when it happens. We still encounter it but only if changes are applied to the project
And not all changes ill post my findings in a bit
Offline
@Offline-R503B
Do you happen to have an use for a diagnostic output from Catel.Fody weaving?
image.png
Geert van Horrik
@GeertvanHorrik
Yes, definitely. Where is this chat room, is it public? Maybe we can discuss there?
Offline
@Offline-R503B
On discord, I could invite you :)
Geert van Horrik
@GeertvanHorrik
(see private chat)
Galgemaennle
@Galgemaennle
Hi. I'm using the great Catel Framework and especially the DataWindow to serve a GUI to modify a model. It's compiled as a dll to be loaded as a plugin into a 3rd party program. That Program loads the dll and searches its interface by Assembly.LoadFile(...).GetTypes(). Unfortunately, the DLL can't be loaded. I'm able to recreate the issue in an console app. I get System.Reflection.ReflectionTypeLoadException with Catel.MVVM, Version=5.12.16.0 can't be found or a dependency is missing. I've double checked that all dependencies are in the same location to be dynamically loaded. I've also used fody costura to statically merge them together. I also made sure, my dll is compiled with <= .net framework version as the calling app. Figgured out that, using a second dll wrapped around the gui dll and serving the interface works fine (When Catel.MVVM is not part of GetTypes() ). It's somehow hiding some stuff. I'm kinda lost. Any advice very much appreciated
Geert van Horrik
@GeertvanHorrik
Are you sure it's not a first-chance exception, for example for the resource assemblies?