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
Wie kann ich auf die Properties in einer WPF-Datei zugreifen?
triceps
myCSharp.de - Member



Dabei seit:
Beiträge: 6
Herkunft: Deutschland

Themenstarter:

Wie kann ich auf die Properties in einer WPF-Datei zugreifen?

beantworten | zitieren | melden

Hi Leute, ich hoffe ich befinde mich hier im richtigen Teil dieser Webseite!
Folgendes Problem hat sich für mich ergeben:

Ich wollte eine einfaches WPF Programm in VisualStudio erstellen.
Bestandteile sollten sein:
Ein Slider, eine TextBox und ein Button. Diese wurden über XAML-Code bereits eingefügt.
Weiterhin wurde die TextBox über ein Binding mit dem Slider verbunden.

Kommen wir zum eigentlichen Problem:
Will ich auf die ActualWidth des Sliders zugreifen, lässt Visual Studio das nicht zu.
Anscheinend fehlen mir die Properties....
Mein Problem an dieser Stelle ist, dass ich nicht weiss wie ich diese im XAML-Code einfüge.

  <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>

        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>


        </Grid.RowDefinitions>
        
            <Slider  x:Name="Slider1" Grid.Row="0" Width="500" Margin="50" Maximum="200"
                    
                     /> <!-- Anweisung die den Sliderzugriff in anderer Klasse ermöglicht -->
            <TextBox   Grid.Row="1" Width="500" Margin="50" Height="50"
                       Text="{Binding ElementName=Slider1, Path=Value}"
                       TextAlignment="Center" FontSize="30"/>
            <Button Grid.Row="2" Width="200" Height="50" Content="Testen"
                    />

    </Grid>
</Window>

Hier mein XAML-Code.....
Ich gehe stark davon aus, dass an dieser Stelle gewisse Anpassungen vorgenommen werden müssen

Hier nun der Code meiner WPF.cs Datei in der ich auf den Slider zugreifen möchte.

namespace WpfAppÜbung
{
    /// <summary>
    /// Interaktionslogik für MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        Skala skala;

        public MainWindow()
        {
            InitializeComponent();
            skala = new Skala(Slider1.ActualWidth);

            skala.OnScale += Fehlermeldung;
            skala.OnScale +=  Korrektur;
        }

        public void testen()
        {
            skala.pruefen();
        }
        public void Fehlermeldung()
        {
            MessageBox.Show("Fehler!");
        }
        public void Korrektur()
        {
            skala.Xpos = 0;
            aktualisieren();
        }

        public void aktualisieren()
        {
            Slider1.ActualWidth = skala.Xpos; //Hier möchte ich auf den Slider zugreifen

        }
    }
        
}

An der besagten Stelle verstehe ich nun nicht was ich falsch mache... Ist meine Zugriffssyntax inkorrekt? Was brauche ich damit der Zugriff funktioniert?

Ich hoffe die Frage ist nicht allzu dumm oder im falschen Bereich dieses Forums.

LG Triceps
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16110

beantworten | zitieren | melden

Hallo.

Bitte halte Dich an [Hinweis] Wie poste ich richtig? und verwende Code Tags.
Niemand hat Lust auf Plaintext :-)

Danke.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Jamikus
myCSharp.de - Member



Dabei seit:
Beiträge: 251
Herkunft: Oberhausen (NRW)

beantworten | zitieren | melden

Hast Du mal in die Doku nachgeschlagen von Slider mit seiner geerbeten Property ActualWidth?

Btw. ein kleiner WPF-Tipp: [Artikel] MVVM und DataBinding
private Nachricht | Beiträge des Benutzers
p!lle
myCSharp.de - Member

Avatar #avatar-3556.jpg


Dabei seit:
Beiträge: 1053

beantworten | zitieren | melden

Es ist nicht möglich, die ActualWidth zu setzen. Man kann den Wert nur auslesen.

Kannst du mal erklären, was du überhaupt machen möchtest?
private Nachricht | Beiträge des Benutzers