Forum Widgets
Latest Discussions
Windows Forms user control layout issues at runtime
I'm hoping the good folls of this community can help me figure out what's going on with a Windows Forms user control that I created and am trying to use. I created a user control that represents a single band of a parametric equalizer. In the designer, the control looks like this: When I debug the control in the Test Container, things look good: If we take a look at the actual PEQ application that will use the control, things still look OK in the designer: It's only when I fire up the application that things go... awry: What happened to all the TextBoxes? And the ComboBoxes? I''ve got a feeling that the fix for this is something really simple, and I'm going to feel like a complete idiot for not figuring out the obvious. Can anyone tell me what my dumb self did wrong?tjmitchemDec 31, 2025Copper Contributor20Views0likes0CommentsWPF application becomes unresponsive after plugging/ unplugging USB device supporting pen events
I've run across an issue on Windows 10 and 11 where WPF apps seem to become unresponsive when unplugging or plugging in a USB device that registers as an input device that can receive touch/stylus events. This can be seen by creating a basic WPF app in Visual Studio, running it, and then adding/removing one of these devices. I used Spy++ to see which messages the app was receiving. I saw a number of messages I was expecting to see - WM_DEVICECHANGE, WM_POINTERDEVICECHANGE, as well as 0x02C8 or 0x02C9 (WM_TABLET_ADDED or WM_TABLET_DELETED, respectively). However, after this, thousands (or sometimes tens of thousands) of messages were sent to a window belonging to the app that is at (0,0) with dimensions 0x0. Its caption is "OLEChannelWnd". The messages are mostly the same: They're all posted to the window The message ID is 0x0400 (WM_USER + 0) The wParam is always the same (0x0000BABE) The lParam varies each time I restart the WPF app, but they seem to settle on a small number of values - for example, the last time I tried this, I saw 0x05D08BB0 4-6 times, then 0x0D1B8E98 a dozen or more times, then 0x0D1B7B90 several times, and so on. During these messages, the app would become unresponsive for as long as these messages were posted. This could take upwards of 5- 10 minutes before recovering, and sometimes would result in a crash from the app running out of memory. After doing research online, I found some posts that talked about a possible issue in the PenThreadWorker thread - that it could be running into some kind of deadlock when initializing certain objects. I also found several posts that mentioned disabling the stylus & touch events by setting "Switch.System.Windows.Input.Stylus.DisableStylusAndTouchSupport". I can add this to the app.config for my app as follows: <runtime> <AppContextSwitchOverrides value="Switch.System.Windows.Input.Stylus.DisableStylusAndTouchSupport=true" /> </runtime> or, equivalently, I can do the following during application startup: AppContext.SetSwitch("Switch.System.Windows.Input.Stylus.DisableStylusAndTouchSupport", true); This does fix the issue - I don't see these WM_USER messages being sent to the app, and as such the app becomes immediately responsive once the device is plugged/unplugged. However, one of the WPF apps that I'm working with (i.e. not the simple test app) needs to process tablet events, so this setting can't be used there. Furthermore, it can only be set either in app.config or during application startup - any calls to it after that are ignored. I've tried this with .NET 4.5.1, .NET 4.6 (which is required to use the code-based method) as well as .NET 4.8.1, but in all cases I see this same result. As mentioned, I know this isn't an issue unique to my app since I'm able to reproduce this issue by creating a basic WPF app and following the same steps. Additionally, I observed the same issue with other test applications I've found online while trying to troubleshoot this issue. Interestingly, I have observed this within Microsoft's own Visual Studios 2017 (which is what I'm using for development) and have found a few other threads online from other people running into the same problem with their apps. I have also tried updating to later Visual Studios versions for development of my app, but this doesn't solve the issue either. Finally, I followed this post from Microsoft regarding https://learn.microsoft.com/en-us/dotnet/desktop/wpf/advanced/disable-the-realtimestylus-for-wpf-applications and still was unable to fix the issue.shepburnOct 07, 2025Copper Contributor64Views0likes0Comments- SampsonYeSep 11, 2025Copper Contributor84KViews1like8Comments
Is clean architecture overkill for small teams maintaining a single web app ?
I've been exploring clean architecture and while I appreciate its separation of concerns and testability, I can't help but wonder, it is over for small teams ( say 2-4 devs) maintaining a single, relatively stable web application ? Implementing clean architecture means more layers, more interfaces, and potenitally more ceremony, which might slow things down, especially if the team is trying to move quickly or lacks deep experience with the pattern. At the same time, I get the value of long-term maintainability and scalability, even for small projects that could grow. What pain points or benefits did you encounter ? Did it help or hinder onboarding, testing or refactoring ?SolvedJohnDobbinsAug 28, 2025Iron Contributor278Views5likes2CommentsMAUI Android API 35: Action Bar still visible despite NavBarIsVisible=False
Before API 35 it was ok. I am using .NET 9, Android API 35, using Shell, etc. I have tried: Shell.NavBarIsVisible, NavigationPage.HasNavigationBar, theme tweaks, etc. What’s still happening: Title bar remains visible on Android.manjitAug 22, 2025Copper Contributor86Views0likes0CommentsIs it normal for CollectionView to lag on larger lists, or am I missing an optimizaiton ?
I've been working with .NET MAUI recently and have run into some performance concerns when using CollectionView. Specifically, when binding a large dataset ( let's say 500+ items), the scrolling becomes noticeably sluggish, especially on Android I've tried a few basic optimizations, like setting CachingStrategy = "RecycleElement" and minimizing the complexity of the DataTemplate, but the lag persists . I'm not using images or heavy UI elements either, it's just a simple text-based item template. is this kind of lag expected with MAUI's CollectionView or is there a known workaround ? Are there additional performance tuning steps I should try ( virtualization tricks, async loading, grouping) ?SolvedBonillaAug 09, 2025Iron Contributor259Views7likes2CommentsWPF App on Windows Server (RDP) – Error Sometimes When Opening New Window
Hi everyone, I have a WPF app that runs from a network drive. It works fine on Windows 11 at the office. But when users run it through Remote Desktop on a Windows Server 2019 virtual machine (using the exact same .exe from the same network drive location), some of them get an error when opening a new window. The app starts normally, but the error happens only when opening another window — and not for every user. Strangely, the next day the same user can open the app and use it normally again without changing anything. Has anyone seen this before or know how to fix it? I’ve also attached: A screenshot of the error message The function that causes the error Thanks a lot!3ColorCatAug 04, 2025Copper Contributor111Views0likes0CommentsHow to decouple views from view models using CommunityToolKit.mvvm
I am writing my first MVVM app using CommunityTookit.mvvm. I am using as reference the Micrsoft Learning link https://learn.microsoft.com/en-us/dotnet/communitytoolkit/mvvm/ioc. This link shows the setting of the viewmodel to the view DataContext using the following statement in the view's .cs file: this.DataContext = App.Current.Services.GetService<ContactsViewModel>(); The problem with this as I see it is that this statement couples the view to the view model, in this case ContactsViewModel. This means that in another app the view cannot be used with another viewmodel without modifying the view, i.e. changing ContactsViewModel above to another viewmodel type. This means that the view cannot be stored in a common library that is shared among different apps. There is a C# Corner example with the older MVVM TookKit that solved this problem using a ViewModelLocator class. This project is found https://www.c-sharpcorner.com/article/getting-started-with-mvvm-light-with-wpf/. The solution is to put the following code in the view's XAML file: DataContext="{Binding Main, Source={StaticResource Locator}}" The source object for the binding is found by looking for a ResourceDictionary that is in the scope of the view and which has an entry whose key is "Locator". In app.xaml which by definition is always in scope we have: <Application.Resources> <ResourceDictionary> <vm:ViewModelLocator x:Key="Locator" d:IsDataSource="True" /> </ResourceDictionary> </Application.Resources> The Dictionary element with key "Locator" is an object of type ViewModelLocator. In the ViewModelLocator class there is a Main property that always returns an instance of MainViewModel: public MainViewModel Main { get { return ServiceLocator.Current.GetInstance<MainViewModel>(); } } In our example, the view's DataContext binds to the Main property of the ViewModelLocator object. The value of the Main property is a MainViewModel object and this becomes the DataContext of the view. We can now in a different app re-use the view without changing it. All we have to do in the next app is to create a different ViewModelLocator object that specifies a different viewmodel in its Main property. The view is now completely decoupled from the view model. My question is, how would we de-couple the view from the view model using the CommunityToolkit.Mvvm? Do we also use a ViewModelLocator class? Is there a more elegant way with dependency injection? Another question I have is, suppose we want to use in one app the same view twice with different view models. An example of where we might want to do this is if we had a view that displayed a chart. It is conceivable that we might want to have more than one view model display its data using the same chart view. I cannot see how to do this in either of the above Microsoft or C# Corner examples.CSharpDevJul 12, 2025Copper Contributor174Views1like0CommentsDeeply Disappointed with Copilot+
At the company where I work, we purchased a Copilot+ laptop with the hope of being able to use the new Windows AI libraries, such as Windows.AI.TextRecognition. The library works well, but we are unable to process more than 2 documents concurrently, which severely limits our document processing capacity. We also feel misled, as we did not see any mention anywhere of such a limitation regarding the library. I would appreciate it if a Microsoft representative could confirm whether this limitation exists and, if not, let us know if there is any way to increase this limit. Thank you in advance.indaJul 10, 2025Copper Contributor176Views0likes1CommentWebView download in .NET MAUI
Hi everyone, I'm Manuel. I need to create an application which downloads a file from web site. I used a WebViewer and allowed into AndroidManifest.xml external memory read and write. Everything works fine until I press the download button from the website: nothing happens. I simply defined a webview into my MainApp.xaml.cs file (because it must be dynamic) and added into my GridLayout. I tried to print external memory read/write permissions, but it says it's not allowed. Can anyone help me? I'm locked here from weeks and don't know how to solve. Thank you so muchSmanuel104Jul 01, 2025Copper Contributor651Views0likes1Comment
Resources
Tags
- .NET MAUI155 Topics
- Windows Forms64 Topics
- android55 Topics
- ios39 Topics
- Xamarin.Forms34 Topics
- Blazor32 Topics
- WPF31 Topics
- Console Apps30 Topics
- UWP18 Topics
- macos17 Topics