For my Kanban project, I use a method called OnKanbanCardTapped. Once a user selects a card, I can set a contextmenu and a few other actions for this specific card. Later I wanted to implement a doubleclick to directly edit a record represented by that card, called OnKanbanCardDoubleTapped;.
What happens is that the 2nd method is basically absorbed by the first meaning that it is usually simply not executed. A bit of searching learned that this is normal in .Net and there are a bunch of workarounds. E.g. use MouseDown and do some timing. This applies to the comparable single/doubleclick events, not specifically Kanban.
I can't remember that VO ever had an issue like this, but maybe some solution was implemented deep in old code from long ago. For .Net I once expected that about everything would be available out of the box but I learned I nearly always need more code & workarounds to get things working than in VO.
Could anyone recommend a way to handle this best, so I can choose the most elegant solution? The Syncfusion Kanban board is a WPF solution, not sure if that makes a difference..
Dick
Handling Single versus doubleclick (WPF)
Re: Handling Single versus doubleclick (WPF)
Hi Dick,
what we have learned in VO, can also be applied to .NET and WPF, even when using 3rd party controls.
Simply subclass the Syncfusion control and add a handler of the double click.
I have done similar things in the sfDataGrid, not only for double clicks, but also for other things.
Wolfgang
what we have learned in VO, can also be applied to .NET and WPF, even when using 3rd party controls.
Simply subclass the Syncfusion control and add a handler of the double click.
I have done similar things in the sfDataGrid, not only for double clicks, but also for other things.
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Re: Handling Single versus doubleclick (WPF)
Hello Wolfgang,
I see where you are going to but I don't think this is the solution here. In this case I can add a handler, without the need to subclass, in other words, I do not need to modify default behavior of the non subclassed base class. From C#, this looks as follows:
Then I add these 2 events and add my code but the OnKanbanCardDoubleTapped rarely runs (sometimes if I keep trying to issue double clicks multiple times in a row) as the OnKanbanCardTapped event is executed before.
I did find a solution but there's something odd in it (in C#, here):
Now the strange thing is this. I programmed pressing my mousewheel as double click. This always triggers the if (ms<..) above, usually with values of around 30 milliseconds. But when I double click myself, it is often closer to one second or even more.
When I comment out all other code of the single click I always get the double click action within say 150 ms. So the rest of the code is causing a delay. But now I wonder why a programmed double click in the mouse wheel acts different.
Anyhow, I will probably have to figure out if I can use some alternatives anyway. The card-specific events are very limited (https://help.syncfusion.com/wpf/kanban-board/events , if you are interested) and that is probably causing the single click event having too much to do.
Dick
I see where you are going to but I don't think this is the solution here. In this case I can add a handler, without the need to subclass, in other words, I do not need to modify default behavior of the non subclassed base class. From C#, this looks as follows:
Code: Select all
kanban.CardDoubleTapped += this.OnKanbanCardDoubleTapped; // 19-3-2026
kanban.CardTapped += this.OnKanbanCardTapped;I did find a solution but there's something odd in it (in C#, here):
Code: Select all
DateTime NowClickedCard = DateTime.Now;
TimeSpan span = NowClickedCard - LastClickedCard;
int ms = (int)span.TotalMilliseconds;
this.Title = NowClickedCard.ToString() + " " + LastClickedCard.ToString() + " --> " + ms.ToString();
if(ms < 1200) // actions after double clickWhen I comment out all other code of the single click I always get the double click action within say 150 ms. So the rest of the code is causing a delay. But now I wonder why a programmed double click in the mouse wheel acts different.
Anyhow, I will probably have to figure out if I can use some alternatives anyway. The card-specific events are very limited (https://help.syncfusion.com/wpf/kanban-board/events , if you are interested) and that is probably causing the single click event having too much to do.
Dick
Re: Handling Single versus doubleclick (WPF)
Hi Dick,
maybe it is better to ask the Syncfusion support. You are paying a lot of money every month, and their support is really good - every time I have asked their have delivered a working solution (in C#).
Wolfgang
maybe it is better to ask the Syncfusion support. You are paying a lot of money every month, and their support is really good - every time I have asked their have delivered a working solution (in C#).
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Re: Handling Single versus doubleclick (WPF)
Hello Wolfgang,
I actually asked them indeed. I saw a Blazor implementation of a context menu and 2 Tasks assigned to it to handle things. There's a good chance that they come up with some working solution which I can implement in my program with none or minimal changes, because their support is absolutely amazing.
And no, I am not paying anything, as their Community License (https://www.syncfusion.com/products/communitylicense) applies to me (and actually to many of us here) and this does include that great support. No idea why they this license is so generous.
I'll drop a message here if it's solved indeed. Currently it looks like only the code to build the contextmenu prevents a normal double click to be properly detected in their OnKanbanCardTapped method, unless, strange enough, it is issued by pressing the mouse wheel set to issue a double click. So if that can be moved to react on only a right mouse click I think I'll be fine.
Dick
I actually asked them indeed. I saw a Blazor implementation of a context menu and 2 Tasks assigned to it to handle things. There's a good chance that they come up with some working solution which I can implement in my program with none or minimal changes, because their support is absolutely amazing.
And no, I am not paying anything, as their Community License (https://www.syncfusion.com/products/communitylicense) applies to me (and actually to many of us here) and this does include that great support. No idea why they this license is so generous.
I'll drop a message here if it's solved indeed. Currently it looks like only the code to build the contextmenu prevents a normal double click to be properly detected in their OnKanbanCardTapped method, unless, strange enough, it is issued by pressing the mouse wheel set to issue a double click. So if that can be moved to react on only a right mouse click I think I'll be fine.
Dick
Re: Handling Single versus doubleclick (WPF)
Hi Dick,
I had a single (paid) license, and then they killed the single licences and asked for a minimum of 5 user license.
But since I didn't knew about their community license, I have contracted with them and I'm paying a 250 USD monthly fee for a 5 user licence of all their products.
Wolfgang
I had a single (paid) license, and then they killed the single licences and asked for a minimum of 5 user license.
But since I didn't knew about their community license, I have contracted with them and I'm paying a 250 USD monthly fee for a 5 user licence of all their products.
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Re: Handling Single versus doubleclick (WPF)
Hello Wolfgang,
I don't know your company's size but the rather generous 10 developer and $ million turnover until which you can use the Community License for free works out perfectly. I get all support and new versions.
If your company is not exceeding these numbers I'd say you should apply for that free license too and cancel the paid version.
Dick
I don't know your company's size but the rather generous 10 developer and $ million turnover until which you can use the Community License for free works out perfectly. I get all support and new versions.
If your company is not exceeding these numbers I'd say you should apply for that free license too and cancel the paid version.
Dick
Re: Handling Single versus doubleclick (WPF)
Hi Dick,
currently we are 4 people, and only 2 of them are working in the Windows environment - the other 2 are working mainly in PHP.
Wolfgang
currently we are 4 people, and only 2 of them are working in the Windows environment - the other 2 are working mainly in PHP.
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Re: Handling Single versus doubleclick (WPF)
Hi Dick,

Come on, you are a software developer, you are using a great product from another developer that as you say provide excellent support, and you are advising other developers to cancel their subscription instead of trying to further support a good company? OK, if it was for a multi billion dollar company trying to rob you in every possible way I could understand itic2 wrote: Fri Mar 27, 2026 11:27 am I don't know your company's size but the rather generous 10 developer and $ million turnover until which you can use the Community License for free works out perfectly. I get all support and new versions.
If your company is not exceeding these numbers I'd say you should apply for that free license too and cancel the paid version.
Chris Pyrgas
XSharp Development Team
chris(at)xsharp.eu
XSharp Development Team
chris(at)xsharp.eu
Re: Handling Single versus doubleclick (WPF)
Hello Chris,
I am not sure if the size of the company is the main criterium. Syncfusion, according to their own profile, has more than 40,000 customers and more than 1 million users and a revenue of about $ 250 million. They have started their Community License and maintained it ever since without restriction. So I guess that this means they have a good reason for that, and make enough money from paying users. Probably it's publicity of how good their products and support are. They get that from me. Probably it's that growing companies eventually become paying companies. I don't know. But it does not make sense that Wolfgang pays $ 250 a month for a 5 user product which he actually even didn't need while he can use the Community License with the same content for free, according to SF' own conditions.
For X# I have always been a Fox member. Not only are there some important differences for Fox and free members but also: X# would not survive without the Fox members.
I think that makes a more logical reason and a bigger difference than how you perceive the company. Although I can't deny the same feeling
Dick
I am not sure if the size of the company is the main criterium. Syncfusion, according to their own profile, has more than 40,000 customers and more than 1 million users and a revenue of about $ 250 million. They have started their Community License and maintained it ever since without restriction. So I guess that this means they have a good reason for that, and make enough money from paying users. Probably it's publicity of how good their products and support are. They get that from me. Probably it's that growing companies eventually become paying companies. I don't know. But it does not make sense that Wolfgang pays $ 250 a month for a 5 user product which he actually even didn't need while he can use the Community License with the same content for free, according to SF' own conditions.
For X# I have always been a Fox member. Not only are there some important differences for Fox and free members but also: X# would not survive without the Fox members.
I think that makes a more logical reason and a bigger difference than how you perceive the company. Although I can't deny the same feeling
Dick

