https://github.com/syminomega/syminui
WPF UI kit. Build interface with Neomorphism style and C# UI which use MVU design.
https://github.com/syminomega/syminui
wpf wpf-controls wpf-styles wpf-ui
Last synced: 3 months ago
JSON representation
WPF UI kit. Build interface with Neomorphism style and C# UI which use MVU design.
- Host: GitHub
- URL: https://github.com/syminomega/syminui
- Owner: syminomega
- License: mit
- Created: 2022-05-09T14:18:36.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2025-04-14T17:25:49.000Z (about 1 year ago)
- Last Synced: 2025-09-24T09:47:13.365Z (9 months ago)
- Topics: wpf, wpf-controls, wpf-styles, wpf-ui
- Language: C#
- Homepage:
- Size: 7.86 MB
- Stars: 31
- Watchers: 2
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SyminUI

SyminUI is a WPF UI kit. Build interface with Neomorphism style and **C#UI** in MVU pattern (WIP).\
SyminUI 是 WPF 的 UI 组件库,并使用称为 **C#UI** 的 MVU 设计模式进行 UI 搭建(画饼中),默认样式为新拟态风格。
[](https://github.com/syminomega/SyminUI/actions/workflows/dotnet-desktop.yml)
## Preview 总览

## ⭐ Next Step
1. Separate the theme and MVU architecture into different packages.\
将主题文件和MVU架构拆分到不同的项目中。
2. Add dark theme.\
添加深色主题支持。
## 🧰 Quick Start 快速使用
1. Add `SyminData` and `SyminUI` reference to your project.\
在项目中添加 `SyminData` 和 `SyminUI` 引用.
2. Add these code to `App.xaml`.\
将以下代码添加至 `App.xaml` 中。
``` xml
```
## 🛠️ MVU Design (Working In Progress)
Introducing the new way to design the user interface.\
使用全新的设计模式制作用户界面!
```c#
public class TestView : ViewContainer
{
///
/// 提供视图
///
public override IView ViewProvider => MainView;
readonly State myText = "My Text";
//测试可切换控件
readonly State dynamicView = new Label("Label A");
readonly State inputText = "Input Message Here";
readonly ObservableCollection textCollection = new()
{
"1111",
"2222",
"3333"
};
public VStack MainView => new VStack
{
new HStack
{
new Label(myText),
new Button("Change Value Button")
.OnClick(() => { myText.Value = "Text Changed!"; })
},
new HStack
{
new Button("Open Canvas")
.OnClick(() =>
{
CanvasTestWindow testWindow = new();
testWindow.Show();
}),
new Label("Label In HStack"),
}.HorizontalAlignment(HorizontalAlignment.Center),
new Grid()
{
new ContentView(dynamicView)
.GridLayout(0, 0),
new Button("Change Content")
.OnClick(() => { dynamicView.Value = new Label("Changed View"); })
.GridLayout(0, 1),
new InputField(inputText)
.GridLayout(1, 0),
new Button("Show Input Value")
.OnClick(() => MessageBox.Show(inputText.Value))
.GridLayout(1, 1),
}
.Cols("2*", ("*", 200, 400))
.Rows("auto", "auto"),
new Button("Add List Item")
.OnClick(TestCollection),
new ItemsView()
.Foreach(textCollection, x => new HStack
{
new Label("List Items"),
new Button(x),
})
};
private void TestCollection()
{
textCollection.Insert(1, "Inserted Item");
}
}
```

## ⚠ Known Issues 已知问题
+ Slider view tick placement does not work.\
滑条的指示器样式未设计。
+ MenuItem disabled style is not finished.\
菜单按钮禁用样式尚未完善。
+ ListBox Header may not fit the row length.\
ListBox的头部可能和内容没法对齐。
## 📄 License 许可证
[The MIT License](./LICENSE)