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
Datenbindung zwischen mehreren Seiten
theSoulT
myCSharp.de - Member



Dabei seit:
Beiträge: 29

Themenstarter:

Datenbindung zwischen mehreren Seiten

beantworten | zitieren | melden

Hallo zusammen,

ich hoffe ihr könnt mir hier etwas weiterhelfen. Ich möchte eine Datenbindung zwischen mehreren Pages erstellen. Ich habe auf der Seite "infos" eine Textbox. Auf meiner MainWindow Page soll ein Label den Inhalt der Textbox anzeigen. Mit unterschiedlichen Buttons kann man zwischen den Seiten wechseln.

Hier sind meine Codeteile:
MainWindow.cs


    public partial class MainWindow : Window
    {
        Person person1;
        public MainWindow()
        {
            InitializeComponent();
            person1 = new Person()
            {
                Name = "John Doe",
                City = "CiytNumberOne"
            };
            this.DataContext = person1;
        }

        private void btnDashboard_Click(object sender, RoutedEventArgs e)
        {
            PageHolder.Content = new dashboard();
        }

        private void Infos_Click(object sender, RoutedEventArgs e)
        {
            PageHolder.Content = new infos();
        }
    }

Person.cs


class Person : INotifyPropertyChanged
    {
        private string _name;
        private string _city;
        public string Name
        {
            get { return _name; }
            set
            {
                _name = value;
                OnPropertyChanged("Name");
            }
        }
        public string City
        {
            get { return _city; }
            set
            {
                _city = value;
                OnPropertyChanged("City");
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;

        private void OnPropertyChanged(string info)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(info));
        }
    }

MainWindow.xaml

<Grid>
        <StackPanel>
            <StackPanel Orientation="Horizontal">
                <Button x:Name="Infos" Content="Infos" Margin="10 0" Click="Infos_Click"/>
                <Button x:Name="btnDashboard" Content="Dashboard" Margin="10 0" Click="btnDashboard_Click"/>
            </StackPanel>
            <Label Content="Name:"/>
            <Label Content="{Binding Name}"/>
            <Separator/>
            <Frame x:Name="PageHolder" Source="infos.xaml" NavigationUIVisibility="Hidden" />
        </StackPanel>
    </Grid>

Könnt ihr mir hier bitte weiterhelfen bei der Datenbindung?
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15528
Herkunft: BW

beantworten | zitieren | melden

Sowas macht man über Messaging; kann man sehr einfach mit Reactive Extensions lösen, was hier auch schon viele Male im Forum verlinkt wurde.
https://oz-code.com/blog/net-c-tips/reactive-wpf-part-1-introduction-to-reactive-extensions

dotnet/reactive
reactiveui/ReactiveUI
private Nachricht | Beiträge des Benutzers