Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
OpacityMask: Grafik wird im Designer, aber nicht zur Runtime angezeigt
EyeTrackJack
myCSharp.de - Member



Dabei seit:
Beiträge: 36

Themenstarter:

OpacityMask: Grafik wird im Designer, aber nicht zur Runtime angezeigt

beantworten | zitieren | melden

Hallo,

ich würde gerne eine Grafik auf einem Button darstellen, die ich individuell einfärben können will. Dazu war mein Vorhaben, dass ich einen Button nehme, auf den ich ein gefärbtes Rechteck lege und über die OpacityMask daraus meine Grafik ausstanze. Im Designer funktioniert es. Da wird es wie gewünscht angezeigt. Wenn ich das Programm jedoch starte, wird die Grafik nicht angezeigt.

                        <Button Padding="0" x:Name="btnOptions" Style="{StaticResource GradientButton1}" Click="btnOptions_Click" Height="32" >
                         
                            <Rectangle Fill="#FFFF0202" Width="{Binding ElementName=btnOptions,Path=RenderSize.Width}" 
                                    Height="{Binding ElementName=btnOptions,Path=RenderSize.Height}">
                                    <Rectangle.OpacityMask>
                                        <ImageBrush ImageSource="settings24.png" Stretch="Uniform"/>
                                    </Rectangle.OpacityMask>
                            </Rectangle>
							
                        </Button>

Wenn ich stattdessen die OpacityMask des Buttons nutze, funktioniert es. Die Grafik wird in der Farbe des Button-Hintergrunds angezeigt. Natürlich verschwindet der Rest vom Button. Ist auch ein schöner Effekt, aber nicht der, den ich hier haben möchte.

Wenn ich die Grafik direkt einfüge,

<Image Source="settings24.png" ></Image>

funktioniert es. Aber auch das ist nicht das Ziel.

Hat jemand eine Idee, was da los ist?

Grüße.

Tobias
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von EyeTrackJack am .
Attachments
private Nachricht | Beiträge des Benutzers
witte
myCSharp.de - Member



Dabei seit:
Beiträge: 966

beantworten | zitieren | melden

Wieso zeichnest du die Grafik nicht einfach mit einem VisualBrush und setzt den Foreground entsprechend?
private Nachricht | Beiträge des Benutzers
GeneVorph
myCSharp.de - Member



Dabei seit:
Beiträge: 166

beantworten | zitieren | melden

Ich habe es jetzt nicht probiert, aber so wie ich dein XAML lese setzt zu lediglich den ImageBrush mit dem Verweis auf das Image.
Wie gesagt, wenn ich nicht komplett irre, müsstest du erst das Image-Tag setzen mit der Source und darin den ImageBrush (könnte sogar durchaus sein, dass dann darin die Source noch einmal refernziert werden muss/kann).

Ich kreuze mal die Finger ;-)
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5985
Herkunft: Leipzig

beantworten | zitieren | melden

Das scheint mir alles ein bißchen viel Aufwand zu sein, um ein Icon anzuzeigen. WPF unterstützt Vektorgrafiken, die kann man (im Gegensatz zu Bitmaps) beliebig skalieren und einfärben.

Hier gibt es eine (von vielen) großen Icon-Sammlungen: Material Design Icons. Die kannst du frei verwenden, und es gibt für jedes Icon den XAML-Code für WPF-Programme, die du nur in deine Resourcen kopieren mußt.
Weeks of programming can save you hours of planning
private Nachricht | Beiträge des Benutzers
EyeTrackJack
myCSharp.de - Member



Dabei seit:
Beiträge: 36

Themenstarter:

beantworten | zitieren | melden

Hallo nach langer Zeit. Ich habe es jetzt mit entsprechend eingefärbten Icons gelöst. Von der Seite, wo ich die Icons runterlade (Icons8.com), gibt es eine App, in der man eine Farbe festlegen kann. Dann werden die Icons umgefärbt und lassen sich per drag and drop in VS reinziehen.
private Nachricht | Beiträge des Benutzers