Comments (5)
I like the idea of a list showing all available colors in the demo app, so I started working on this.
Current state:
I am still a bit confused regarding your last question though. At first, you asked for naming conventions which you did not mention later again. I hope this new view in the demo app is what you requested.
from adonis-ui.
Good questions. Let me try to answer them:
will there will be any theme based on adonis?
If it's true maybe there will be more contributors, willing to collaborate (Metro, Fluent, etc).
The idea with splitting the library into two assemblies was to separate the core definition (AdonisUI) from the actual implementation (AdonisUI.ClassicTheme). This way someone could create a different theme with totally different looking controls for the same behavior. In theory, a theme could be replaced by a different theme by only changing the one import line in the App.xaml
and the whole application would still work like before, just look totally different.
Personally, I am not planning on creating another theme though. At least not currently. Creating another theme would mean to recreate almost all styles which is a lot of work. And once another theme is introduced, every change to the base library would require changes in both themes, of course.
But yeah, you are right, at least in theory someone could create a metro / fluent theme or something like that for Adonis UI.
how much dependent the adonis UI with the theme?
this will measure the breaking changes if there's other theme.
AdonisUI.ClassicTheme is dependent on AdonisUI. AdonisUI contains the whole public API like names of colors, brushes, styles, templates, converters, dimensions, etc. This way an application depends only on AdonisUI and never on the concrete theme.
An application could use only AdonisUI without any theme as well. But then it misses all styles and templates and can use only some core features that are independent of the theme, like converters, colors, some attached properties that work without styles and AdonisWindow
.
how to create new one or manipulating the existing?
if you provide guide for that, other will understand more and will use more.
Creating a new theme could be done from scratch or by duplicating AdonisUI.ClassicTheme and using it as a base. All styles could be changed to look like desired. It should be tested whether all the custom functionality of Adonis UI works like expected (layers, watermarks, ripples, etc).
I can try to create a guide for that in the future. Although this is not completely thought out by myself. As I tried to convey, this architecture is based on thoughts I had at the beginning of this project. I might have missed things that would raise issues if someone really tried to create another theme. So it might require some cooperation in order to successfully do that. And let me say this again: It would mean a lot of work (depending on how the theme should look exactly, of course)! For my limited time at afternoons and weekends it would be multiple months - and slowing down future development as well. Just look at the source code of AdonisUI.ClassicTheme and imagine to reimplement everything. You could copy and paste some stuff of course, but still.
Maybe even this repository would not be the best place for another theme because the readme would need to show off both themes without being confusing to newcomers. Splitting the repo might be a better idea then.
how about the style naming conventions??
just like mahapps, will you provide naming convention like AdonisUI.Styles.Button or AdonisUI.Brushes.Accent
Could you please clarify what you mean here? Adonis UI already has resources like AdonisUI.Brushes.AccentBrush
or AdonisUI.Styles.AccentButton
. Is this what you mean?
from adonis-ui.
Thank you for your great answer,
Could you please clarify what you mean here? Adonis UI already has resources like AdonisUI.Brushes.AccentBrush or AdonisUI.Styles.AccentButton. Is this what you mean?
oh right, I missed that point, what I intended to ask is the resource collection, like this
from adonis-ui.
Great, that's what I meant
about the naming, I thought it wasn't there yet.
from adonis-ui.
Closing this because
- the color reference view has been added to the demo app successfully
- info about creating new themes has been given
- actually creating a new theme is not in the scope of this issue and currently not planned as well
from adonis-ui.
Related Issues (20)
- Ribbon control
- RippleHost causing MemoryLeaks HOT 1
- About the select page
- Change accent color at runtime
- center window don't work HOT 1
- MessageBox result closes application HOT 3
- Remove red border around button content when using data validation HOT 4
- AdonisWindow // Hide all buttons property
- Text wrapping for watermark
- AdonisWindow not getting garbage collected HOT 2
- Adonis UI alternative for Avalonia? HOT 1
- Questions HOT 2
- Extend style of control styled with Classic Theme? (.NET 7) HOT 1
- Setting ResizeMode "CanResizeWithGrip" on the window removes Adonis title bar
- Resource not found; ResourceKey='TargetType=AdonisUI.Brushes ID=Layer0BorderBrush'
- visual studio 2022 xaml designer not showing adonisControls:AdonisWindow HOT 2
- Cannot add AdonisUI Custom Components from Toolbox or it's not seen xaml code?
- Add Expander control style HOT 1
- [Support request] AdonisUI styling not applying to codebehind-generated control? HOT 1
- Memory leak to AdonisWindow from HandleTitleBarActualHeightChanged
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from adonis-ui.