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-ID: 71931814754

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

Ausgedruckt am: 24.11.2024 um 10:11 Uhr

Snuffchen
Snuffchen 15.11.2023 um 09:37:18 Uhr
Goto Top
Einfach im Code ein neues Bild zuweisen

myButton.Image = Image.FromFile("Pfad\\zum\\Anfangsimage.png");  
Kraemer
Kraemer 15.11.2023 um 09:44:35 Uhr
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
Snuffchen
Snuffchen 15.11.2023 um 10:12:36 Uhr
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
DarkZoneSD
DarkZoneSD 15.11.2023 aktualisiert um 17:21:29 Uhr
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
Kraemer
Kraemer 16.11.2023 um 18:45:34 Uhr
Goto Top
Moin,

noch nicht getestet, sieht aber vielversprechend aus.

Vielen Dank!
DarkZoneSD
DarkZoneSD 20.11.2023 um 19:10:34 Uhr
Goto Top
Moin,

hats funktioniert? ;D

Grüße