{"id":24801247,"url":"https://github.com/xxrederxx/cstkinter","last_synced_at":"2026-02-25T05:03:18.951Z","repository":{"id":273715905,"uuid":"920678188","full_name":"xXrederXx/CsTkinter","owner":"xXrederXx","description":"A C# version based of Tkinter and Customtkinter.","archived":false,"fork":false,"pushed_at":"2025-03-22T16:09:36.000Z","size":133,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-22T17:22:34.440Z","etag":null,"topics":["csharp-library","gui"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xXrederXx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-22T15:28:57.000Z","updated_at":"2025-03-22T16:09:40.000Z","dependencies_parsed_at":"2025-03-22T17:31:35.996Z","dependency_job_id":null,"html_url":"https://github.com/xXrederXx/CsTkinter","commit_stats":null,"previous_names":["xxrederxx/cstkinter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/xXrederXx/CsTkinter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xXrederXx%2FCsTkinter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xXrederXx%2FCsTkinter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xXrederXx%2FCsTkinter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xXrederXx%2FCsTkinter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xXrederXx","download_url":"https://codeload.github.com/xXrederXx/CsTkinter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xXrederXx%2FCsTkinter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263908909,"owners_count":23528539,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp-library","gui"],"created_at":"2025-01-30T04:19:51.866Z","updated_at":"2026-02-25T05:03:18.874Z","avatar_url":"https://github.com/xXrederXx.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003cimg src=\"./Media/Logo.png\" alt=\"Markdownify\" width=\"300\"\u003e\n  \u003cbr\u003e\n  CsTkinter\n  \u003cbr\u003e\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003eA C# version based of \u003ca href=\"https://docs.python.org/3/library/tkinter.html\" target=\"_blank\"\u003eTkinter\u003c/a\u003e and \u003ca href=\"https://customtkinter.tomschimansky.com/\" target=\"_blank\"\u003eCustomtkinter\u003c/a\u003e.\u003c/h4\u003e\n\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#key-features\"\u003eKey Features\u003c/a\u003e •\n  \u003ca href=\"#how-to-use\"\u003eHow To Use\u003c/a\u003e •\n  \u003ca href=\"#TODO\"\u003eTODO\u003c/a\u003e •\n  \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\n## Discontinued\nI have discontinued this project because there is too much complication with WPF. I started over with a new approach in a repo called AnyUI. 😊\n\n## Key Features\n\n* Easy to use\n* Tkinter like behavior\n* Only Code, no xaml  \n* Based of Performant WPF\n* Spacial Features\n\n## How To Use\n\nFirst create a new Csharp project. Take the .dll file and place it into your Project folder. If you place it else where, you need to change the HintPath. Go into the .csproj file and make shure it looks similar to this. Important are the **TargetFramework**, the **UseWPF** and the **ItemGroup**\n```xml\n\u003cProject Sdk=\"Microsoft.NET.Sdk\"\u003e\n\n  \u003cPropertyGroup\u003e\n    \u003cOutputType\u003eExe\u003c/OutputType\u003e\n    \u003cTargetFramework\u003enet9.0-windows\u003c/TargetFramework\u003e\n    \u003cImplicitUsings\u003eenable\u003c/ImplicitUsings\u003e\n    \u003cNullable\u003eenable\u003c/Nullable\u003e\n    \u003cUseWPF\u003etrue\u003c/UseWPF\u003e\n  \u003c/PropertyGroup\u003e\n\n  \u003cItemGroup\u003e\n    \u003cReference Include=\"CsTkinter\"\u003e\n      \u003cHintPath\u003e./CsTkinter.dll\u003c/HintPath\u003e\n    \u003c/Reference\u003e\n  \u003c/ItemGroup\u003e\n\n\u003c/Project\u003e\n```\nNow crate a class with a Main function. It needs the **STAThread** attribute. Here is a sample application.\n```csharp\nusing CsTkinter.Widgets;\nusing CsTkinter.Windows;\n\nclass App\n{\n    [STAThread]\n    static void Main(string[] args)\n    {\n        CtWindow root = new();\n\n        CtLabel label = new CtLabel(root);\n        label.Place(10, 10);\n\n        root.Run();\n    }\n}\n```\nIf you have trouble because of the dependency, try run dotnet clean.\nNow try to build your own app.\n\n## TODO\n- [ ] Add more Widgets\n- [ ] Add more Place methods\n- [ ] Add general functionality\n\n\n## You may also like...\n\n- [Y-Sharp](https://github.com/xXrederXx/YSharp) - My custom language\n- [Wiki Word Plotter](https://github.com/xXrederXx/WikiWordPlotter) - A tool to plot words from Wikipedia\n\n## License\n\n [GNU GPLv3](./LICENSE)\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxxrederxx%2Fcstkinter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxxrederxx%2Fcstkinter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxxrederxx%2Fcstkinter/lists"}