Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/simnico99/micawpf

This is a library to make Mica available in WPF.
https://github.com/simnico99/micawpf

acrylic control csharp dotnet fluent mica net5 net6 net7 ui winui wpf wpfui xaml

Last synced: 3 days ago
JSON representation

This is a library to make Mica available in WPF.

Awesome Lists containing this project

README

        

![NuGet](https://img.shields.io/nuget/v/MicaWPF.svg?style=flat&logo=NuGet)
![NuGet(download)](https://img.shields.io/nuget/dt/MicaWPF.svg?style=flat&logo=NuGet)
![CodeFactor](https://img.shields.io/codefactor/grade/github/Simnico99/MicaWPF/main?logo=codefactor&logoColor=%23ffff)
![Azure Pipelines](https://dev.azure.com/ZirconCloud/MicaWPF/_apis/build/status/Simnico99.MicaWPF?branchName=main)

![Contributors](https://img.shields.io/github/contributors/Simnico99/MicaWPF?style=flat)
![Forks](https://img.shields.io/github/forks/Simnico99/MicaWPF?style=flat)
![Stargazers](https://img.shields.io/github/stars/Simnico99/MicaWPF?style=flat)
![Issues](https://img.shields.io/github/issues/Simnico99/MicaWPF?style=flat)
![License](https://img.shields.io/github/license/Simnico99/MicaWPF?style=flat)





Logo

MicaWPF


This is a library to make Mica available in WPF.


Explore the docs »




View Demo
·
Report Bug
·
Request Feature

Table of Contents



  1. About The Project



  2. Getting Started


  3. Roadmap

  4. Contributing

  5. License

  6. Contact

  7. Acknowledgements

## About The Project

The project aim to mimic Windows 11 Mica Behaviors in a WPF application since WPF is a well established framework and also it aims to gracefully revert to a Windows 10 style that is kinda similar to the Dark and Light mode of Windows 11 to keep inline with the style.

Windows 11

![Mica_Exemple](https://user-images.githubusercontent.com/80013536/146576610-09cdf07d-0170-4e48-b65d-6612fd7b31fb.png)

Windows 10

Supports falling back to dark or light theme on Windows 10.
![image](https://user-images.githubusercontent.com/80013536/139864645-8a48016b-e369-4c9c-9ca9-73ee7fc10a07.png)

Here are some exemple controls:
![image](https://user-images.githubusercontent.com/80013536/169356344-caacaa6d-5ee6-447b-b3b5-35fca1a8939b.png)
![74d755e6e4ae5fddb0b5fe64d2869e81](https://user-images.githubusercontent.com/80013536/169356493-95e8d389-815a-4227-a6a6-7a422334f627.gif)
![42cbe5065b53c4e8369f2f4bbeb1311a](https://user-images.githubusercontent.com/80013536/169356743-a4b899c7-ba99-40c9-a5aa-823a5942fd3b.gif)
![image](https://user-images.githubusercontent.com/80013536/169356891-4b5a2221-64e2-4522-ba1e-a2bae9f04b40.png)

### Built With

* [MicaWPFRuntimeComponent](https://github.com/Simnico99/MicaWPFRuntimeComponent)

## Getting Started

To get a local copy up and running follow these simple steps.

### Installation

#### NuGet
1. Download via the Nuget package manager or use the NuGet Command line.
```sh
Install-Package MicaWPF (or MicaWPF.Lite)
```
2. If you have used the NuGet Command line restore de packages.
```sh
nuget restore MicaWPF.sln
```

#### Using source
1. Clone the repo.
```sh
git clone https://github.com/Simnico99/MicaWPF.git
```
2. Restore NuGet packages.
```sh
nuget restore MicaWPF.sln
```
3. Add the project in your project reference.

### Usage

(Works for both MicaWPF and MicaWPF.Lite)

1. To start Change the `` for ``.
2. Add the namespace by adding `xmlns:controls="clr-namespace:MicaWPF.Controls;assembly=MicaWPF"` (For MicaWPF.Lite `xmlns:controls="clr-namespace:MicaWPF.Lite.Controls;assembly=MicaWPF.Lite"`).

Here is an exemple:
```XAML

```

3. You need to add `` and `` to your App.xaml resources.

Here is an exemple:
```xaml

StartupUri="MainWindow.xaml">








```

(Does not apply to MicaWPF.Lite)
Now get into your Window code:
1. Add the namespace `using MicaWPF.Controls;`.
2. Change the Window inherited class to `MicaWindow`.

Here is an exemple of what it might look like using .NET8:
```CSharp
using MicaWPF.Controls;

namespace MicaWPF.DesktopApp;

public partial class MainWindow : MicaWindow
{
public MainWindow()
{
InitializeComponent();
}
}

```

#### Note For .Net6.0, .Net7.0 and .Net8.0
You will need to change your CSPROJ to include the windows build after the netx.0-windows.
Here is an exemple using .Net8.0 just change the net8 for net7 or net6 for the other versions.

MicaWPF:
```Xaml
net8.0-windows10.0.19041.0
7.0
```

MicaWPF.Lite:
```Xaml
net7.0-windows
```

_For more examples, please refer to the [Documentation](https://github.com/Simnico99/MicaWPF/wiki)_

## Roadmap

See the [open issues](https://github.com/Simnico99/MicaWPF/issues) for a list of proposed features (and known issues).

## Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## FAQ

### Q: What is the difference between MicaWPF and MicaWPF.Lite?
A: The MicaWPF.Lite Nuget package only contains the MicaWindow code

and a trim down accent color detection so it takes way less space.

Take note that accent colors are not as accurate on the light version.

### Q: The title bar buttons are weird, how do I fix?
A: Apply TitleBarType="WinUI" like this:
```

[other code...]

```

## License

Distributed under the MIT License. See `LICENSE` for more information.

## Contact

Simnico99 - [@TheSimnico99](https://twitter.com/TheSimnico99)

Project Link: [https://github.com/Simnico99](https://github.com/Simnico99)

## Acknowledgements

* [Fluent UI System Icons](https://github.com/microsoft/fluentui-system-icons)
* [Best README template](https://github.com/othneildrew/Best-README-Template)

![Alt](https://repobeats.axiom.co/api/embed/756130021d85947f6cd1d56b08c1f7b358e5d3a5.svg "Repobeats analytics image")