kraemer
Goto Top

Csharp XAML Eigenschaften wärend Laufzeit ändern

Moin zusammen,

ich überlege, ob ich mir auf meine alten Tage noch C# i.V.m. WPF / XAML aneigne.

Bevor ich nun anfange, mich intensiv mit dem Thema zu beschäftigen, habe ich einfach mal ein wenig herumgespielt.

Dabei erschließt sich mir eine Logik nicht.

Beispiel: Ich haben einen Style in etwa wie folgt erstellt und als Template einem Button zugewiesen

   <Style x:Key="MyButton" TargetType="{x:Type Button}">  
       <Setter Property="Background" Value="{StaticResource cbBackground}" />  
       <Setter Property="Foreground" Value="{StaticResource cbFontFace}" />  
       <Setter Property="HorizontalContentAlignment" Value="Center" />  
       <Setter Property="VerticalContentAlignment" Value="Center" />  
       <Setter Property="Padding" Value="1" />  
       <Setter Property="Template">  
           <Setter.Value>
               <ControlTemplate TargetType="{x:Type Button}">  
                   <StackPanel
                       x:Name="sp"  
                       Orientation="Horizontal"  
                       Height="Auto"  
                       Margin="5"  
                   >
                       <Image
                           x:Name="img"  
                           Source="/Test.png"  
                           Height="48"  
                           Width="48"  
                           HorizontalAlignment="Left"  
                           Stretch="UniformToFill"  
                           Opacity="0.5"  
                       />
                       <ContentPresenter
                           Margin="5"  
                           HorizontalAlignment="Left"  
                           VerticalAlignment="Center"  
                       />
                   </StackPanel>
               </ControlTemplate>
           </Setter.Value>
       </Setter>
   </Style>

Wie kann ich nun aus dem C#-Code heraus bei dem Button das Bild zur Laufzeit ändern - sprich wie wird dieses referenziert?

Mir fehlen da anscheinend die Begrifflichkeiten um das zu ergoogeln...

Vielen Dank im Voraus

Content-Key: 71931814754

Url: https://administrator.de/contentid/71931814754

Printed on: April 27, 2024 at 11:04 o'clock

Member: Snuffchen
Snuffchen Nov 15, 2023 at 08:37:18 (UTC)
Goto Top
Einfach im Code ein neues Bild zuweisen

myButton.Image = Image.FromFile("Pfad\\zum\\Anfangsimage.png");  
Member: Kraemer
Kraemer Nov 15, 2023 at 08:44:35 (UTC)
Goto Top
Zitat von @Snuffchen:

Einfach im Code ein neues Bild zuweisen

myButton.Image = Image.FromFile("Pfad\\zum\\Anfangsimage.png");  

öhm - nö. So einfach geht das leider nicht. Dem Button fehlt nämlich eine solche Eigenschaft
Member: Snuffchen
Snuffchen Nov 15, 2023 at 09:12:36 (UTC)
Goto Top
Stimmt, gerade festgestellt .. WPF ist manchmal merkwürdig. Bin leider nicht im Büro, der Kollege weiß das sicherlich, der macht den ganzen Tag nichts anderes
Member: DarkZoneSD
DarkZoneSD Nov 15, 2023 updated at 16:21:29 (UTC)
Goto Top
Guten Abend,

das hier wäre eine Möglichkeit, soweit ich weiß aber auch nur für das Image Besipiel, ansonsten fällt mir dazu auch gerade nichts ein.

Viele Grüße
Member: Kraemer
Kraemer Nov 16, 2023 at 17:45:34 (UTC)
Goto Top
Moin,

noch nicht getestet, sieht aber vielversprechend aus.

Vielen Dank!
Member: DarkZoneSD
DarkZoneSD Nov 20, 2023 at 18:10:34 (UTC)
Goto Top
Moin,

hats funktioniert? ;D

Grüße