Laden...

[gelöst] Aero Theme lässt Window schwarz werden

Erstellt von martinO vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.619 Views
M
martinO Themenstarter:in
164 Beiträge seit 2009
vor 13 Jahren
[gelöst] Aero Theme lässt Window schwarz werden

Hallo zusammen

Ich hab Win7, .net4 und ein WPF Window (MS Ribbon).
Habe ich Aero Theme eingeschaltet und starte meine Applikation, ist manchmal mehr, manchmal weniger des Window schwarz. Durch resizen (neu rendern) erscheint dann wieder das gewünschte Window Look&Feel.

Schalte ich die Aero Theme aus, funktioniert alles prächtig.

Gibts hierzu ein Workaround, wie das Fenster auch ohne neu Rendern und mit Aero Theme "normal" erscheint? Das Problem scheint ja seit Windows Vista (Aero) zu bestehen.

Die einzigen Lösungen im Netz - disable Desktop Composition und Aero Theme ausschalten - kann ich nicht machen, weil man den Kunden nicht vorschreiben kann, die Aero Theme auszuschalten..

Weiss jemand Rat?

Merci

Martin

5.742 Beiträge seit 2007
vor 13 Jahren

ein WPF Window (MS Ribbon).

Daran wird es wohl liegen: WPF: Button statt Fenstertitel
Eine wirkliche Lösung scheint es keine zu geben, außer auf den FluentRibbon umzusteigen.

M
martinO Themenstarter:in
164 Beiträge seit 2009
vor 13 Jahren

FluentRibbon lässt sich leider nicht schlau automatisiert Testen, darum hat bei der Ribbon Entscheidung MS Ribbon gewonnen..

Gibt es keinen (anderen) Workaround oder eine Lösung?

5.742 Beiträge seit 2007
vor 13 Jahren

Gibt es keinen (anderen) Workaround oder eine Lösung?

Wenn ihr eine entsprechende Subscription habt, würde ich da wirklich mal direkt bei MS nachfragen.

M
martinO Themenstarter:in
164 Beiträge seit 2009
vor 13 Jahren

Laut MS ist es ein Grafikkartenproblem - wenn die GPU das ganze Bling Bling nicht mehr rechnen kann oder was weiss ich..

http://support.microsoft.com/kb/963021

Zu den Punkten 1-6: Verantwortung abschieben, dann einen hoffnungslosen Versuch vorschlagen und wenn das nicht geht, mal ein Logfile schicken und hoffen, dass sich ja jemand in den nächsten Jahren drum kümmert.. sie sorry aber äääh...

Kann ja nicht sein dass Millionen von Entwicklern da draussen alle die Aero Theme bei sich und den Kunden ausgeschaltet haben...

M
martinO Themenstarter:in
164 Beiträge seit 2009
vor 13 Jahren

Man kann die Hardware Acceleration auch für ein einzelnes Window ausschalten (remind: erst nach dem vollständigen Laden des Window kann der Code ausgeführt werden)

http://blogs.msdn.com/b/jgoldb/archive/2007/10/10/performance-improvements-in-wpf-in-net-3-5-3-0-sp1.aspx

Punkt 6

(Finds zwar noch immer doof das man arbeiten der GPU auf die CPU schmeisst, aber jänu.. es läuft so wenigstens)

[EDIT: Hab den Code hierher kopiert, falls die Page mal nicht mehr existieren sollte)]

        private void OnLoaded(object sender, EventArgs e)
        {
            if (ForceSoftware)
            {
                HwndSource hwndSource = PresentationSource.FromVisual(this) as HwndSource;
                HwndTarget hwndTarget = hwndSource.CompositionTarget;

                // this is the new WPF API to force render mode.
                hwndTarget.RenderMode = RenderMode.SoftwareOnly;
              }
        }