| |
VB.NET - Ein- und UmsteigerKlassenübergreifender Zugriff bei WPF | | | Autor: Maas | Datum: 21.09.08 20:05 |
| Hallo Leute,
Ich habe eine WPF-Anwendung mit der "Public Class Window1". In dieser Klasse gibt es z.B. die "Public Property Prop1". Jetzt will ich in einer anderen Klasse auf diese Eigenschaft zugreifen, aber es wird mir dauernd gesagt, dass diese nicht deklariert sei. Das gleiche gilt auch für Controls. In WinForms ist das kein Problem.
Wieso fukioniert das nicht in WPF? Was mache ich hier falsch?
Danke im Voraus | |
Re: Klassenübergreifender Zugriff bei WPF | | | Autor: FZelle (Moderator) | Datum: 22.09.08 09:44 |
| Die zugriffsmodifizierer funktionieren unter WPF genauso wie unter WindowsForms.
Da wirst Du einen anderen Fehler machen. | |
Re: Klassenübergreifender Zugriff bei WPF | | | Autor: Maas | Datum: 22.09.08 11:26 |
| An den Modifizierer hab ich auch schon gedacht. Er steht zwar in der Eigenschaftenliste nicht zur Verfügung, aber ich hab ihn per XAML für Window1 hinzugefügt(x:ClassModifier="Public"). Hat auch nichts gebracht. Wenn der Modifizierer genauso ist, wie bei WinForms müsste er ja standardmäßig auf "Friend" gestellt sein, was ich aber nicht erkennen kann.
Wäre nett wenn du das mal bei dir ausprobieren könntest. Einfach eine neue WPF-App erstellen, ein Label in das Grid ziehen, eine neue Klasse und Sub erstellen und versuchen auf das Label zuzugreifen. Im Objektbrowser steht Label1 dann unter "WpfApplication1.Window1.Label1", ist dort aber nicht anzutreffen.
Wenn es bei dir funktioniert, scheint der Fehler irgendwo in der IDE zu liegen, würde ich sagen.
Maas
Beitrag wurde zuletzt am 22.09.08 um 11:32:26 editiert. | |
Re: Klassenübergreifender Zugriff bei WPF | | | Autor: FZelle (Moderator) | Datum: 22.09.08 13:50 |
| Nein, es ist ein Fehler in deiner Herangehensweise.
Es ist absolut unüblich, ja sogar gegen jede OOP Convention, wenn du einfach so auf
die UI-Controls einer Form von aussen zugreifst.
Wenn Du das immer unter WindowsForms gemacht hast, hast du es da schon falsch gemacht.
Erzeuge in deinem Window1 ein Property, das die Daten nach aussen führt. | |
Re: Klassenübergreifender Zugriff bei WPF | | | Autor: Maas | Datum: 22.09.08 14:07 |
| OK. Werd ich mir merken. Zumindest bei Variablen hab ich das ja immer so gemacht(also mit Property).
Aber wie ich schon sagte, auf einmal geht es selbst mit einer Public Property nicht mehr, welche auf Daten von Window1 zurückgreift, egal ob Variable oder Control. Ich kann aus einer anderen Klasse nicht auf die Property zugreifen, nur innerhalb der Klasse Window1, was ja nicht das Ziel ist.
So langsam zweifle ich daran, was ich die letzten Monate gemacht habe... | |
Re: Klassenübergreifender Zugriff bei WPF | | | Autor: FZelle (Moderator) | Datum: 22.09.08 15:32 |
| Du bist sicher, auch diese Klasse zu benutzen ( NameSpace usw. )? | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevOutBar 4.0
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|