I would recommend looking at the open source extensions and using them as examples. You can find them here: https://github.com/iceteagroup/wisej-extensions
If you want us to look at your specific code and see how it would be optimized, you can purchase a consulting package so that we can do a code review. You can purchase a consulting package here: https://wisej.com/services-packages/
The problem seems to have been resolved with version 4.0.2, but I will keep an eye on it. However, there is still a small issue: every time I open a page or a control, Visual Studio reports that the file has been modified, even though no changes appear to have been made to the file.
I will keep you informed. Thank you.
Please provide a test project and the steps to reproduce and we will look into this further,
Julie
Hi Kim,
it’s fixed in Wisej.NET 4.0.2 that was just deployed.
Best regards
Frank
Hi Ulisses,
Wisej.NET 4.0.2 is now deployed and fixes this issue.
Best regards
Frank
Hi Rusty,
this enhancement is now deployed with Wisej.NET 3.5.23 and 4.0.2
Best regards
Frank
Hi,
this started to manifest itself after migration from wisej 3.5.12 to 3.5.22., on older wisej version app worked without this error ever popping out.
last time this error manifested was after app was idle for some time so I suspect that it could also be the case when web socket connection was dropped.
strangely enough, application.exit() is helping remedy this error after it occures, or manual cleanup of browser cache for app domain.
Hi Maestro,
Is your app deployed as a .NET Framework or .NET Core version?
Is the Theme file located with the deployed files?
Usually, what you’re describing is a deployment issue.
Best Regards,
Alaa
In Wisej.NET you can change theme elements at runtime using the Application.Theme object. Application.Theme gives you a dynamic object (like a JObject) representing the active theme. You can navigate its hierarchy (settings, fonts, images, appearances, etc.) and assign new values. The theme structure matches your theme JSON (e.g. Bootstrap-4.json).
Here are some examples:
Application.Theme.Fonts["default"]["size"] = 15;
Application.Theme.Appearances["button"]["states"]["default"]["styles"]["backgroundColor"] = "#ff0000";
For your case with the monthcalendar, you can just mimic the structure from the theme mixin that I provided earlier:
Application.Theme.Appearances["datechooser"]["components"]["day"]["states"]["bolded"]["styles"]["backgroundColor"] = "lightgreen";
Additionally, these changes will be overwritten whenever you change the theme-so you’ll need to run the code again whenever the theme changes.
Hi Dino,
Hi Robert,
please share a sample project so we can see your web.config, default.json etc.
You can also send it to support@wisej.com
Best regards
Frank
Have you read the Web.Config and the commented lines?
Hi Adrian,
please find documentation about mixins here
https://docs.wisej.com/theme-builder/getting-started/edit-a-mixin
Best regards
Frank
You can do this by using a theme mixin.
{
"name": "calendarmixin",
"appearances": {
"datechooser": {
"components": {
"day": {
"states": {
"bolded": {
"styles": {
"css": "{\"font-weight\":\"900 !important\", \"overflow\":\"visible !important\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}",
"backgroundColor": "lightgreen"
},
}
}
}
}
}
}
}
The theme mixin will only override part of the theme, allowing users to change the theme and always see the green background on bolded dates.
For more information on theme mixins see here: https://docs.wisej.com/theme-builder/getting-started/edit-a-mixin
Hi Brian,
You’re correct that it depends on which environment you’re running in. Hybrid Remote is the remote web server’s file system. Hybrid Local should be the local device’s file system. I haven’t tested the dialog with the local device’s file system so not sure if you’ll run into some issues there. I would think it would be ok if you use the application temp directory (Environment.GetTempPath() or Device.FileSystem.CacheDirectory) as a root.
For the second question, I would recommend sending us an email at support AT wisej DOT com to look at your case further. System.IO.Ports will only work on Windows and macOS. If you’re running on Android and iOS you’ll need to integrate with platform-specific APIs. If it’s a remote app we’ll need to wire the data back to the server.
HTH,
Levie
Some things to consider:
1.The target panel must have AllowDrop = true
this.targetPanel.AllowDrop = true;
2. Even if AllowDrop is enabled, the target must process the drop:
private void TargetPanel_DragOver(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(typeof(Button)))
e.Effect = DragDropEffects.Move;
}
private void TargetPanel_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(typeof(Button)))
{
var btn = (Button)e.Data.GetData(typeof(Button));
this.targetPanel.Controls.Add(btn);
}
}
3. Movable = true is not needed
Movable = true is for moving controls within the same container.
For dragging across containers, you must use DoDragDrop() and handle drop events.
I’ve attached a working sample where you can drag a button from one panel to another, hope this helps!
Can you please include a compliable test case? Delete the bin and obj folders before posting.
Sure. Create a static manager class, fire a static event when the data needs to be updated. The clients simply attach to the static event. When fired they will all be invoked since events are multicast.
When handling the event make sure to use Apolicatio.Update() or RunInContext. You will find more info in the docs.
Create a blank new Wisej-4 project using the provided templates. It will create a sample for you with a couple of clicks. There are also dozens of samples in github.
This is a typical startup.cs with app.UseWisej();
https://github.com/iceteagroup/wisej-examples/blob/4.0/MDIExample/MDIExample/Startup.cs
In your solution there is no main method, the launchsettings doesn’t have true for launching the browser, the start url is wrong, there is no call to app.Run(), the web.config is setup incorrectly for IIS instead of Kestrel (see comments in the one we provide). It doesn’t work with asp.net core regardless of wisej.net. If you copy the correct startup method it will work. We provide everything you need to make it work correctly.
https://dotnettutorials.net/lesson/asp-net-core-main-method/
https://stackify.com/how-to-deploy-asp-net-core-to-iis/ <– this works only when deploying in IIS, doesn’t work with Kestrel. This is all standard asp.net core.
Wisej is a .NET Core middleware, which is typically added using UseWisej() (not AddWisej).
Create a new project using the provided templates and attach a new blank Wisej 4 project (without net48) that runs and opens a simple page with a label and a button. Look at the running project to see the setup, which is all standard net core and asp.net core.
