Forum: PC-Programmierung C# WPF - MouseOver Hover-Animation funktioniert nicht


von Reginald L. (Firma: HEGRO GmbH) (reggie)


Lesenswert?

Howdy!

Irgendwie krieg ichs nicht gebacken:

Ich erstelle mit VS2015 (Win10) eine neue C#-WPF-Application mit einem 
Button. Bei jedem Windows-Fenster ist ja eine MouseOver-Hover Animation 
hinterlegt. Diesen Standard-Stil möchte ich auch haben. Habe es schon 
mit einem manifest probiert, das funktioniert leider auch nicht. Der 
Button wird zwar blau beim MouseOver und wieder grau beim ~MouseOver 
aber die Animation dazu fehlt. Das Problem ist mir übrigens aufgefallen, 
da meine ProgressBar auch nicht so aussieht wie gewollt: Normalerweise 
sollte sie ja so aussehen:
http://www.c-sharpcorner.com/uploadfile/mahesh/wpf-progressbar/Images/PBarImg2.jpg
Bei mir sieht sie allerdings so aus:
https://2000thingswpf.files.wordpress.com/2014/09/1160-001.png?w=630
Es scheint, als ob der falsche Style für meine Anwendung aktiviert ist, 
bzw. gar keiner. Unter C++ MFC habe ich das ohne Probleme hinbekommen. 
Unter VB-Forms kann ich den Stil, zumindest für jedes Control einzeln, 
einstellen.
Das Internet habe ich natürlich auch durchforstet. Aber da haben wohl 
die Meisten das Problem den Stil AUS- anstatt ANzuschalten.

Weiß jemand wo das Problem liegt?

Danke schonmal!
Grüße Reggie

: Bearbeitet durch User
von Dirk (Gast)


Lesenswert?

Zeig mal deinen XAML Code dann kann Dir jemand eventuell helfen.

von Reginald L. (Firma: HEGRO GmbH) (reggie)


Lesenswert?

Cool, dass sich noch jemand meldet.

Meine Windows:
1
<Window x:Name="WndConfig"
2
        x:Class="ERB_WPF.Windows.wndConfig"
3
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
4
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
6
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
7
        xmlns:local="clr-namespace:ERB_WPF.Windows"
8
        xmlns:prop="clr-namespace:ERB_WPF.Properties"
9
        Title="ERB - Config"
10
        Height="400"
11
        Width="800"
12
        ResizeMode="NoResize"
13
        Icon="Resources/ConfigIcon.ico"
14
        DataContext="{x:Static prop:Settings.Default}"
15
        IsVisibleChanged="OnVisibleChanged">

Das ProgressBar Window:
1
<Window x:Name="WndProgressBar"
2
        x:Class="ERB_WPF.Windows.wndProgressBar"
3
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
4
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
6
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
7
        xmlns:local="clr-namespace:ERB_WPF.Windows"
8
        mc:Ignorable="d"
9
        Title="Please wait..."
10
        Height="110"
11
        Width="300"
12
        ResizeMode="NoResize"
13
        ShowInTaskbar="False"
14
        WindowStartupLocation="CenterOwner"
15
        Icon="Resources/HourGlassIcon.png"
16
        Topmost="True"
17
        IsVisibleChanged="OnVisibleChanged">
18
    <Grid Cursor="AppStarting">
19
        <ProgressBar x:Name="pbar"
20
                     Height="20"
21
                     Margin="10,0,10,40"
22
                     VerticalAlignment="Bottom"
23
                     BorderBrush="{x:Null}"
24
                     BorderThickness="1,1,1,1"
25
                     Padding="1" />
26
        <Button x:Name="button"
27
                Content="Cancel"
28
                Margin="0,0,0,10"
29
                HorizontalAlignment="Center"
30
                Width="60"
31
                Click="onCancel"
32
                VerticalAlignment="Bottom" />
33
        <TextBlock Text="{Binding Value, ElementName=pbar, StringFormat=\{0:0\}%}"
34
                   Height="20"
35
                   VerticalAlignment="Bottom"
36
                   Margin="0,0,0,40"
37
                   RenderTransformOrigin="0.5,0.5"
38
                   Width="80"
39
                   TextAlignment="Center"
40
                   FontSize="14"
41
                   FontWeight="Bold" />
42
    </Grid>
43
</Window>

App:
1
<Application x:Class="ERB_WPF.App"
2
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4
             xmlns:local="clr-namespace:ERB_WPF"/>

von seho85 (Gast)


Lesenswert?

Hi,

eine genaue Antwort warum das bei dir nicht funktioniert, erfordert den 
kompletten Quelltext.

Das "Aussehen" von Steuerelementen innerhalb einer WPF-Anwendungen wird 
durch Styles (http://wpftutorial.net/Styles.html) und Templates 
(https://www.tutorialspoint.com/wpf/wpf_templates.htm) beeinflusst.

Eine einfache Progressbar in einer WPF Anwendung, unter Windows 10, 
sieht bei mir genauso aus wie die von dir.

Gruß,
Sebastian

von Reginald L. (Firma: HEGRO GmbH) (reggie)


Lesenswert?

seho85 schrieb:
> Eine einfache Progressbar in einer WPF Anwendung, unter Windows 10,
> sieht bei mir genauso aus wie die von dir.
Danke für die Info bzw. den Test. Hat mich auf die Idee gebracht, meine 
Anwendung mal auf einem anderen Windows auszuprobieren und siehe da: 
Unter Win7 sind die Standard-Animationen der Progressbar und Buttons 
vorhanden.

Werde mal schauen warum das unter Win10 nicht der Fall ist. Falls jemand 
eine Idee hat, immer her damit :)

Danke nochmals!

von Back to the '80s (Gast)


Lesenswert?

Windows 7 benutzt Aero, Windows 10 dagegen irgendwas aus den 80ern,
um die GUI zu zeichnen. Flat Design heißt das wohl im Neusprech.
(Wohl eher: Für richtiges Design hatten wir einfach keine Zeit mehr.)
Würde mich wundern, wenn du das in deiner Anwendung beeinflussen
könntest.

von Reginald L. (Firma: HEGRO GmbH) (reggie)


Lesenswert?

Back to the '80s schrieb:
> Flat Design heißt das wohl im Neusprech.
Ah ok, da werd ich mich wohl mal reinlesen müssen.

von Plopp (Gast)


Lesenswert?


von Reginald L. (Firma: HEGRO GmbH) (reggie)


Lesenswert?

Plopp schrieb:
> http://www.mycsharp.de/wbb2/thread.php?threadid=116339
Soviel gegoogelt... nur nicht auf deutsch :> deshalb wohl nix gefunden 
zu dem Thema.

Gut zu wissen, dass das normal ist.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.