Giter Club home page Giter Club logo

presentationtheme.aero's People

Contributors

gix avatar wjk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

presentationtheme.aero's Issues

AeroTheme prevents override of ListViewItem style

Consider the following XAML:

<ListView aero:ThemeOptions.UseExplorerStyle="True">
    <ListView.View>
        <GridView>
            <GridViewColumn CellTemplate="..." />
        </GridView>
    </ListView.View>

    <ListView.Resources>
        <Style x:Key="{x:Type ListViewItem}" TargetType="{x:Type ListViewItem}" BasedOn="{StaticResource {x:Static GridView.GridViewItemContainerStyleKey}}">
            <Setter Property="HorizontalAlignment" Value="Stretch" />
            <Setter Property="HorizontalContentAlignment" Value="Stretch" />
        </Style>
    </ListView.Resources>
</ListView>

With the default WPF themes, this XAML will stretch any ListViewItem added to fill the entire column, while preserving the mouse-over effect of the default ListviewItem style. However, if i call AeroTheme.SetCurrentTheme() first, no adjustment of XAML or control logic will result in the custom style shown above to be referenced; the theme default will always be used instead. Therefore, I cannot make the ListViewItem stretch to fill the entire row; it will always size itself as small as possible given the contents of its CellTemplate.

I have spent some time debugging this, to no avail. Could you please clarify what (if anything) I am doing wrong? Thanks!

ToggleButton styling issue

Hi,

ToggleButton for all themes does not show IsChecked state - it is rendered as a Normal state. I am not sure if this is on purpose or not, however Windows 7 style displays checked toggle button correctly. I was annoyed by this, so I have changed this locally and it looks better. In order to fix it provide a name for element ButtonChrome in style BaseButtonStyle and add a following control template triggers:

<ControlTemplate.Triggers> <Trigger Property="IsKeyboardFocused" Value="true"> <Setter TargetName="Chrome" Property="RenderDefaulted" Value="true" /> </Trigger> <Trigger Property="ToggleButton.IsChecked" Value="true"> <Setter TargetName="Chrome" Property="RenderPressed" Value="true" /> </Trigger> </ControlTemplate.Triggers>

Create theme assembly matching Windows 11 msstyles?

What the title says, really. When I run my carefully crafted PresentationTheme.Aero application on Windows 11, it looks very out-of-place since all of the common controls have had their theme bitmaps changed from their Windows 10 values. Being able to use this library to automatically have native-looking UI on both Windows 10 and Windows 11 would be really cool. Thanks!

(As a side note, you can easily check for Windows 11 by using the CurrentBuild value under the HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion registry key. If this value is 22000 or greater, the computer is running Windows 11. If not, the computer is running some build of Windows 10. This value is not affected by manifest versioning elements or lack thereof AFAIK.)

Targets file for .NET Framework is broken

You will need to change ..\lib to ..\..\lib in the following lines:

<PresentationThemeAssembly Include="$(MSBuildThisFileDirectory)..\lib\net45\PresentationTheme.Aero.Win8.*"/>
<PresentationThemeAssembly Include="$(MSBuildThisFileDirectory)..\lib\net45\PresentationTheme.AeroLite.Win8.*"/>
<PresentationThemeAssembly Include="$(MSBuildThisFileDirectory)..\lib\net45\PresentationTheme.HighContrast.Win8.*"/>
<PresentationThemeAssembly Include="$(MSBuildThisFileDirectory)..\lib\net45\PresentationTheme.Aero.Win10.*"/>
<PresentationThemeAssembly Include="$(MSBuildThisFileDirectory)..\lib\net45\PresentationTheme.AeroLite.Win10.*"/>
<PresentationThemeAssembly Include="$(MSBuildThisFileDirectory)..\lib\net45\PresentationTheme.HighContrast.Win10.*"/>

Without this change, the assemblies will not be copied into the output directory because MSBuild looks for them in the wrong location, therefore breaking use of this library on .NET Framework. Thanks!

Build copies theme files into subfolder, breaking theming

Suddenly, and for no apparent reason (it started happening while I was tracking down an unrelated bug in my project), MSBuild is copying the theme assemblies into the runtime\win\lib\netcoreapp3.0 subfolder. It did not do this before. As a result, the main assembly cannot find them and my app runs with the ugly default WPF theme. Please understand that this is an urgent issue for me, as I need to get the fix for that bug I mentioned above out as soon as possible, but this theme problem prevents me from doing a full release build, as then the theming won't work in the new version like it did in the old. Thanks!

dotnet --info

.NET SDK (reflecting any global.json):
 Version:   5.0.100-rc.2.20479.15
 Commit:    da7dfa8840

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.20236
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\5.0.100-rc.2.20479.15\

Host (useful for support):
  Version: 5.0.0-rc.2.20475.5
  Commit:  c5a3f49c88

.NET SDKs installed:
  3.0.100 [C:\Program Files\dotnet\sdk]
  5.0.100-rc.2.20479.15 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.All 2.1.21 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.21 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.0-rc.2.20475.17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.21 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.0-rc.2.20475.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 3.1.3 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 3.1.7 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 5.0.0-rc.2.20475.6 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

To install additional .NET runtimes or SDKs:
  https://aka.ms/dotnet-download

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.