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

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von syn87
Thema: Forms-Authentication SSL
Am im Forum: Web-Technologien

Hallo zusammen,

ich moechte in die Masterpage meiner Web Applikation die Möglichkeit zum Einloggen eines Benutzers einbetten. Wie ich gelesen habe, sind 2 Dinge besonders zu beachten, wenn man Forms-Authentication nutzt.

1. Protection="All" (oder vergleichbares), um den Authentifizierungscookie zu verschlüsseln.
2. requireSSL="true", da die Login-Daten standardmäßig in Klartext übertragen werden.

Demnach sollte man zumindest die Login-Seite mit SSL verschlüsseln. Aber was ist nun, wenn ich, wie beschrieben, dem Benutzer auf quasi _jeder_ Seite die Möglichkeit geben möchte, sich einzuloggen. Das ganze resultiert ja in massig Verschlüsselungsoverhead....

Hat jemand eine Idee?

Gruß

syn

Thema: dynamic javascript event
Am im Forum: Web-Technologien

Hallo zusammen,

ich krieg grad total die Krise. Gestern ging es noch und heute escaped er das Hochkomma....

TextBox1.Attributes.Add("onChange", "alert('muh');");

Im html steht dann

onChange="alert(& #39 ;muh& #39 ;);" 
(leerzeichen eingefügt)

was natürlich nicht funktioniert :( Wieso ging es zur Hölle gestern noch?!!

Gruß

Thema: Linq To SQL Indexing
Am im Forum: Datentechnologien

Besten Dank :)

Thema: Linq To SQL Indexing
Am im Forum: Datentechnologien

Alles klar. Danke für die rasche Antwort. Jedoch interessiert mich dann trotzdem einmal, wieviel Indexe überhaupt gesetzt werden. Bei Identity gehe ich schwer davon aus. Wie sieht es bei Fremdschluesseln aus?

Bin ich für die Erstellung eines Indexes auf dieser Seite richtig? Und ist das für Express Datenbanken (also MDF) überhaupt möglich? Beschäftige mich erst seit gestern mit diesem Kram :)

Thema: Linq To SQL Indexing
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MDF

Hallo zusammen,

momentan modelliere ich meine Datenbank mit Linq To SQL. Im Code hol ich mit den DataContext und erzeuge die Tabellen mit CreateDatabase().

Soweit bin ich damit auch zufrieden. Allerdings möchte ich gern ein spezielles Property (besser eine bestimmte Tabellenspalte) als Index festlegen. Identity ist nicht gewünscht! Meine Vermutung geht dahin, dass ich im Property Fenster irgendetwas bestimmtes bei "Server Data Type" angeben muss... Nur was?! :)

Gruß

matze

Thema: DirectSound, EchoCancellation und NoiseSuppression
Am im Forum: Grafik und Sound

Ich hab Probleme, die EchoCancellation bzw. NoiseSuppression zu aktivieren. Im Netz findet sich immer nur ein Beispiel und derjenige scheint ebenso Probleme zu haben:


captureDescription.ControlEffects = true;
captureDescription.CaptureEffectDescription = new CaptureEffectDescription[1];
captureDescription.CaptureEffectDescription[0].LocateInSoftware = true;
captureDescription.CaptureEffectDescription[0].GuidEffectsClass =
DSoundHelper.CaptureEffectsMsAcousticEchoCancellation;
captureDescription.CaptureEffectDescription[0].GuidEffectsInstance =
DSoundHelper.InterfaceCaptureEffectsAcousticEchoCancellation;

new CaptureBuffer(captureDescription, captureDevice)

Bei der letzten Zeile gibts ne ArgumentException("out of range").

Gruß

Thema: audiodateien zusammenführen
Am im Forum: Grafik und Sound

Hier hat sich zwar wenig getan, aber ich glaub mein Vorhaben ist ähnlich :)

Ich habe mehrere Wav Dateien die während einer Audio/Video Konferenz entstanden sind. Aus den Wav Dateien moechte ich nun quasi die Gruppenunterhaltung generieren. Heisst also alle Dateien müssen sich überlappen.

Hat jemand eine Idee oder kennt vllt einen besseren Weg?

Gruß

Thema: UdpClient, Videokonferenz, Multicast
Am im Forum: Netzwerktechnologien

Ja wie gesagt: 0 wenns nur im LAN versendet werden soll.

Thema: UdpClient, Videokonferenz, Multicast
Am im Forum: Netzwerktechnologien

ttl bestimmt doch die anzahl der hops. also die anzahl, wie oft ein paket das netzwerk wechseln kann. damit ist 0 gleichbedeutend mit einem lan?! ich glaub das war so :)

Thema: UdpClient, Videokonferenz, Multicast
Am im Forum: Netzwerktechnologien

Hallo zusammen :)

ich schätze ein paar Fehler habe ich nun schon eliminiert. Zumindest läuft es auf einigen Rechnen nun trotz Multicast flüssig. Hier scheint auch das Problem gewesen zu sein, dass ich eine falsche Multicast Adresse verwendet hab. Meine Annahme war, dass es egal ist, welche ich nehme, aber anscheinend gibt es da doch ein paar gravierende Unterschiede (Multicast Address Assignment). Weiterhin übergebe ich nun auch die TTL an die JoinMulticastMethode (aktuell 0).

Wie gesagt, es funktioniert mit _einigen_ Rechnern. Manche Rechner bekommen nur fuer 2 Sekunden die Signale von den anderen Rechnern, und danach nie wieder. Ne Idee woran das liegen kann?

Gruß

syn

Thema: UdpClient, Videokonferenz, Multicast
Am im Forum: Netzwerktechnologien

hehe:) ne also ich habs nur lokal getestet. nur da funktionieten ja die multicast ips. jetz weiss ich nich genau wie das mit den multicast funktioniert. wird nur ein paket geschickt und jeder der in der gruppe ist, fuehlt sich angesprochen? oder werden eigntl doch so viel pakete versendet, wie nutzer in der gruppe sind?

ich will nochmal betonen: jeder client schickt sein bild zum anfang nur an der server. sobald die serverip gegen eine multicast ip ausgetauscht wird, kommt es zu paketverlusten...

gruss

Thema: UdpClient, Videokonferenz, Multicast
Am im Forum: Netzwerktechnologien

Hallo zusammen,

ich bin aktuell dabei, ein Videokonferenz Programm zu schreiben. Dabei gibt es verschiedene Clients, die sich, sobald sie sich am Server angemeldet haben, diesem ein Bild schicken. Die Übertragungsrate liegt zu Beginn bei 25 Fps. Die Bilder kommen beim Server auch sauber und ruckelfrei an.

Nun das Problem: Damit sich die Clients untereinander sehen, wollte ich MulticastGroups verwenden. Kommt ein Client also in eine Gruppe, dann sendet er nicht mehr an die ServerIP sondern an die gruppenIP. Der Server empfaengt sie jedoch trotzdem noch, da er auch in allen Gruppen mit drin steckt. Sobald zu viele Clients nicht mehr an die ServerIP senden, sondern an die Gruppen IP, kommt es zu aussetzern. Wenn ich die Empfangsroutine genauer unter die Lupe nehme, dann kann ich auch feststellen, dass von manchen Clients schon seit Sekunden ncihts mehr empfangen wird. Daher schließe ich ein GUI Problem aus.

Also nun die Frage: Kommt es bei der Nutzung von Multicast Gruppen irgendwann zwangslaeufig zu Problemen? Sollte ich vllt an jeden einzelnen Client in der selben Gruppe senden? Und sollte ich vllt auch mehrere Ports verwenden, statt nur einen?

Lg

Thema: GUI für Videokonferenz: Performance-Probleme bei mehreren gleichzeitigen Videoströmen
Am im Forum: Grafik und Sound

Hallo zusammen.

ich bastel grad an einem konferenz tool bei dem man alle in der selben befindlichen Nutzer sehen können soll. Soweit funktionert das ganze auch schon sehr gut... Nur wird es etwas problematisch, wenn ich entweder die fps hoeher setze, oder es mehr als 4 Nutzer werden. Der Netzwerkteil dürfte meines Erachtens nach keine probleme darstellen, da ich den Soundkram bereits fertig habe, und die Netzwerklast dort wesentlich höher war.

Mein Gefühl sagt mir, dass es irgendwas mit der GUI zu tun hat. Die ankommenden Pakete werden wie folgt verarbeitet:


listener = new Listener(1551, delegate(IPAddress from, byte[] raw)
{
Client client = null;
if (!clients.TryGetValue(from, out client))
 return;

MemoryStream m = new MemoryStream(raw);
client.Camera.Image = new Bitmap(m);
};

Camera ist eine PictureBox... diese wird in einem anderen Thread als die GUI erstellt, später dann aber zu dieser hinzugefügt (invoke noetig?)... der listener startet einen neuen Thread, in welchem auf ankommende Pakete gewartet wird. kommt ein paket an, wird die callback-Methode (delegate) aufgerufen (muss hier vllt fuer das setzen des Image ein Invoke her?).

2 Knackpunkte hab ich nun bereits genannt. Eine weitere Möglichkeit wuerde eventuell darin bestehen, dass ich die GUI multithreaded gestalte. d.h. also ein zusaetzliches programm erzeuge, welches kein formborder hat und welches nur ein videosignal verarbeitet. Wie auch immer, bin auf die antworten gespannt.

gruß

syn

Thema: SplashScreen in eingener AppDomain
Am im Forum: GUI: Windows-Forms

Packt man das ganze in eine DLL sind bereits zahlreiche AssemblyLoad Events gefeuert wurden. D.h. man sieht im Splashscreen nicht alle geladenen Assemblys. Es gibt natuerlich auch die Liste geladener Assemblies, aber ich wollte es halt genau in dem moment anzeigen, wo es auch geschieht.. Bei einer Applikation die aus mehreren DLLs besteht ist diese Variante für mich wesentlich angenehmer als immer SetText("Assembly xy") zu schreiben, hatte ich ja bereits geschrieben.

Thema: SplashScreen in eingener AppDomain
Am im Forum: GUI: Windows-Forms

Okay wird gemacht. Sonst noch irgendwelche Einwände?:) Was mich etwas stoert, ist dass der Prozess als SplashScreen.exe weiterlaeuft, aber ich glaube das ist nicht zu verhindern oder? Ansonsten muesste ich ja einen neuen Process starten und dann haette ich wieder das Problem mit dem AssemblyLoad.

Thema: SplashScreen in eingener AppDomain
Am im Forum: GUI: Windows-Forms

Kaum zu glauben, aber ich hab schonmal eine Moeglichkeit gefunden, mit der es funktioniert:


        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new SplashScreen());

        }

        public SplashScreen()
        {
            InitializeComponent();
            Thread mainApp = new Thread(delegate()
            {
                AppDomain mainAppDomain = AppDomain.CreateDomain("MainApp");
                mainAppDomain.AssemblyLoad += (s, e) => { };
                //MessageBox.Show(e.LoadedAssembly.GetName().Name);
                Mutex mut = new Mutex(true, "LOCAL//Client");
                mainAppDomain.ExecuteAssembly("Client.exe");
            });

            Shown += (s, e) =>
            {
                mainApp.Start();
                Thread.Sleep(2000);
                Mutex mut = new Mutex(false, "LOCAL//Client");
                mut.WaitOne();
                Close();
            };
        }

Ich möchte aber trotzdem noch die Frage an euch richten, was ihr fuer verbesserungswuerdig haltet.

LG

Thema: SplashScreen in eingener AppDomain
Am im Forum: GUI: Windows-Forms

Hallo zusammen,

ja ich hab schon ein bisschen im Forum rumgeguckt, aber ich glaube meine Idee für einen SplashScreen ist noch nicht vertreten.

Ich würde den SplashScreen gern als einzelne Exe kompilieren und ihm dann das zu startende Programm und das SplashBild als Parameter übergeben.

Beim Start der SplashScreen-Exe sollte dann eine neue

AppDomain
erstellt werden. Über diese kann man an das Event

AssemblyLoad
anknüpfen.

Ja sicherlich is das eine Geschmacksfrage, aber ich find es ziemlich 'stylisch' wenn da die geladenen Assemblys angezeigt werden :)

Problem bereitet mir aber das Beenden des SplashScreen Programms. Hier sollte eigntl die SplashScreen Assembly als Referenz zum Zielprojekt angegeben werden können, und der SplashScreen per SplashScreen.Close() beendet werden können. Ich hab schon viel probiert, aber nichts hat wirklich funktioniert. Process IDs sind gleich und den Thread über die ManagedThreadID bekomm ich nich (zumindest weiss ich nicht wie). Frage bleibt also, wie sollte das Close() aussehn.

Ja für Ideen bin ich offen :)


            SplashScreen splash = new SplashScreen();
            new Thread(delegate()
            {
                AppDomain mainAppDomain = AppDomain.CreateDomain("MainApp");
                mainAppDomain.AssemblyLoad += (s, e) => { };
                //MessageBox.Show(e.LoadedAssembly.GetName().Name);
                mainAppDomain.ExecuteAssembly(args[0]);
            }).Start();

Thema: SerialPort - Kein Datenempfang
Am im Forum: Rund um die Programmierung

@ujr:

Zitat von ujr
An den Sonnenwinden?
Witzig.
Zitat von ujr
[Hinweis] Wie poste ich richtig? Punkt 5

Siehe:
Zitat von syn87
Jedoch bekomm ich im eigenen Projekt keine Meldungen über diverse Events.

Vllt hilft dir das:
http://www.google.de/search?q=wie+lese+ich+richtig

@Joetempes:
Danke. Werde es gleich mal ausprobieren. Inzwischen hab ich vom Hersteller erfahren, dass man erst noch den Buchstaben 's' senden muss. (In der Anleitung stand davon leider nichts :))

LG

Thema: SerialPort - Kein Datenempfang
Am im Forum: Rund um die Programmierung

Hallo zusammen,

ich hab hier seit ein paar Tagen ein Set aus 2 Handschuhen, die per Bluetooth Informationen über den Biegegrad der Finger an einen Empfänger senden. Hier ist zu bemerken, dass die Daten erst noch auf einen COM-Port gemappt werden.

Das beiliegende Testprogramm läuft problemlos. Ich muss nur den Namen des Ports angeben, und schon trackt er die empfangen Daten. Das Programm sieht nebenbei gesagt stark nach C# aus.
Für mein eigenes Projekt habe ich einfach eine SerialPort-Instanz verwendet. Soweit sollte das auch alles klappen, denn sobald serialPort.Open() ausgeführt wurde, kann ich das benannte Testprogramm (also das vom Hersteller) nicht mehr starten "COM port unavailable" oder so... Jedoch bekomm ich im eigenen Projekt keine Meldungen über diverse Events. Woran kann das liegen?


LG syn

Thema: WCF Flut: Hilfe!
Am im Forum: Netzwerktechnologien

Ich denke auch das wird das Vernuenftigste sein. Zumindest wenn man noch auf bestimmte Features von Remoting angewiesen ist, wie z.b. dem CallContext. Läuft ja nich weg :)

Thema: WCF Flut: Hilfe!
Am im Forum: Netzwerktechnologien

Nur wäre man dann wieder bei dem Punkt, an dem man in jedem Methodenaufruf seine Session packen muss. Also ist sicher beides nicht so ganz optimal. Da überleg ich doch glatt wieder, ob ich WCF nicht sein lasse und doch Remoting verwende :\

Thema: WCF Flut: Hilfe!
Am im Forum: Netzwerktechnologien

Im ernst? :) Na dann kann man ja immernoch intern den Principal weitergeben. Jedenfalls werd ich das denke mal genau so implementieren. Für ein mittelständisches Unternehmen reichts. Vllt wirds dann spaeter nochmal geaendert.

LG

Thema: WCF Flut: Hilfe!
Am im Forum: Netzwerktechnologien

Es wuerde in dem Sinne keinen Sitzungsschluessel geben, man müsste immer erst den Principal aufrufen.
Das mit der permanent Last stimmt natürlich. Wobei ich dem gegenüber jetzt behaupten würde, dass da nich wirklich viel "Last" über die Leitung geschoben wird.

LG

Thema: WCF Flut: Hilfe!
Am im Forum: Netzwerktechnologien

Nunja. Es würde ebenso wie bei dir auf einem SecurityService basieren. Dieser stellt folgende Methoden bereit:


// gibt TRUE wenn Login erfolgreich, sonst FALSE (wenn Principal bereits Session hat)
bool Login(GUID guid);

// ist in der Lage eine bestehende Session zu überschreiben, TRUE wenn erfolgreich
bool ForceLogin(GUID guid);

// frischt TimeStamp auf (Timeout für Locking Items)
// TRUE alles is in Ordnung
// FALSE aktuelle Session wurde überschrieben
bool Renew(GUID guid);

// löscht Session Items
void Logoff(GUID guid);

Nun ein kleines Beispiel :) Es geht dabei um einen Rechner mit einem bestimmten Nutzer, welcher an einer Domain angemeldet ist.

- Startet Instanz (A) -> Login
- Stetiges Renew (Timer) und normales Arbeiten

- Startet Instanz (B) -> Login
-> returns FALSE
- Vorhandene Session überschreiben? (MessageBox)
- Ja -> ForceLogin
- Nein -> App Close

- Login erklaert sich von alleine :)

LG

Thema: WCF Flut: Hilfe!
Am im Forum: Netzwerktechnologien

Ist immer wieder interessant deine Beiträge zu lesen :) Wie lang programmierst du schon .NET und wie hast du dir das alles angeeignet?

Zum Session Kram hier noch eine Idee von mir. Ich beschreib das wieder in gewohnter Stichpunkt Form. Vllt hat ja jemand n Kommentar oder Kritik dazu.

- Client generiert GUID
- Login-Versuch, true = Success, false => 5 neue Versuche, danach Meldung "Andere Session aktiv. Übernehmen?" -> Sprich die Session für eine andere AppInstanz wird verworfen.
- Stetiges RenewSession() mit der GUID um alle assoziierten Daten zu halten. Z.b. gelockte Items
- Bei Timeout -> Free Locked Items
- Beim Schließen Logout mit GUID -> Alle Daten auf dem Server zerstören

Auf diesem Weg würde das Mitsenden der SessionID bei allen Methoden erspart bleiben, da pro Benutzer eh nur eine AppInstanz erlaubt ist. Für eine MDI Applikation duerfte das ja kein Problem sein.

LG und danke schonmal für die vielen informativen Posts :)

Thema: WCF Flut: Hilfe!
Am im Forum: Netzwerktechnologien

Den ServiceSecurityContext benutze ich bereits - Erfolgreich. Grund für mich einen CallContext zu verwenden ist der, dass ich wie bereits erwähnt eine Session erstellen kann. Ich orientiere mich dabei sehr am Beispiel von Rainbird - ist für mich auch irgendwie schlüssig.
Dazu gehört unter anderem der LockingService. Dieser muss ja zwangsweise auf einer SessionId basieren, die vom Server kommt. Der ServiceSecurityContext wuerde dafuer nicht genuegen, da z.b. im Falle eines Programmabsturzes ein Element ewig gelockt bleiben würde. Genauer Mechanismus wäre dabei wie folgt:

- LockingAnforderung<Customer>(CustomerId)
- Per Timer stetig die Session Renew'en
- Server verlängert Locking

Bei einem gecrashten App wäre dann die Ressource nicht mehr offen aber dennoch geblockt. Ähnliches könnte man z.b. über die Login Methode beseitigen (indem man alle Lockings löscht), aber ich weiss nicht so recht, ob das ein guter Weg ist. Was meint ihr? (Ist mir naemlich grad erst eingefallen :)

LG

Thema: WCF Flut: Hilfe!
Am im Forum: Netzwerktechnologien

Hallo ihr beiden,

danke für die beiden Antworten, vor allem Rainbird für den doch ziemlich langen Post :) An sich sollte meine Frage aber auf etwas anderes zielen. Ich habe mich bereits für das NetTcpBinding entschieden, da es in der Tat eine Anwendung sein soll, die mittels Client und Server über das Netzwerk kommuniziert. An den Principal komm ich mittlerweile auch ran. Was ich mich aber immernoch frage ist, wie kann ich ContextDaten setzen. Also ähnlich wie beim .NET Remoting mit CallContext.SetLogicalData usw.. Ich geh davon aus dass ich weiterhin das NetTcpContextBinding nutzen muss. Richtig?

@Rainbird:

Dein Applikationsserver ist nach wie vor ein schönes Beispiel um einen Einstieg in den ganzen Remoting Kram zu bekommen. Hat mir wirklich sehr geholfen! Danke an dieser Stelle dafür. Allerdings stell ich mir mittlerweile auch ein paar Fragen, warum du was wie gemacht hast. Einige davon wären:

- Warum sind Funktionen wie Login, Logoff, RenewSession usw. in der API (BasisContract)? Sollte die konkrete Implementierung nicht beim Server liegen? (Ist letztendlich wahrscheinlich egal, aber ich habs mich trotzdem gefragt :)

-Wenn es um den SecurityService geht. Könnte man nicht alle Funktionen innerhalb des Servers auf eine static class umleiten? Ich stell mir das quasi so vor, dass es einen SecurityService gibt der nur die Funktionen Login, Renew und Logoff hat. Diese leiten innerhalb des servers dann auf Server.Login/Renew/Logoff um. Dieser "Singleton" kann dann die Sessions verwalten und gibt den anderen Diensten die möglichkeit, per IsInRole(...) einzelne Rechte abzufragen. Wäre das so prinzipiell auch möglich, oder hab ich bei deinem AppServer nur was falsch verstanden?

Liebe Grüße



--------------------------------------- EDIT ----------------------------------------------
Hier ein kleiner Zwischenstand (da ich trotz des Forums versuche, meine Probleme selber zu loesen):

Soweit ich gelesen hab, muesste ich IClientMessageInspector und IDispatchMessageInspector verwenden. Mir erscheint das jedoch etwas viel Aufwand. Alles was ich benötige ist eigntl, dass der Server ein paar Daten einspeisen kann, und zum späteren Zeitpunkt darauf zugreifen kann. Nach Möglichkeit über alle zwischen Client udn Server bestehende Dienste.

Ein kleines Szenario wäre also:

- Client: Login (SecurityService)
- Server: erstellt GUID für Client und hängt diese in den Context
- Client: GetCustomers (CustomerService)
- Server: kann auf Context zugreifen, erkennt GUID usw.


LG und danke an jeden der so viel liest :)

Thema: WCF Flut: Hilfe!
Am im Forum: Netzwerktechnologien

Hallo zusamm,

seit einigen Tagen beschäftige ich mich jetzt mit WCF und muss sagen, vom Funktionsumfang ist das ganze ja noch n Tick schlimmer als .NET Remoting. Was ich damit sagen will ist, dass ich mittlerweile garnicht mehr weiß, was ich alles gelesen hab, und was davon wichtig für mich ist.

Aus diesem Grund wollte ich euch gesammelt mal Fragen, welche Dokumentationen ihr für meinen konkreten Fall empfehlen könnt:

- Context Unterstützung
- Authorisierung über Windows Account

Beiläufig stell ich mir momentan immer noch die Frage (da ich noch nicht soweit bin), wie ich meine Anwendung denn testen kann. Es sollte ja selbst für Debug auf 2 Betriebssystemen laufen, oder wuerde vllt auch eins reichen? Wobei ich mir dann die Frage stelle, wie ich rausbekomme, dass er die Identität vom Aufrufer nimmt, oder die eigene. Ist ja dann die selbe?!

LG

Thema: Intelligentes PropertySet
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Das Original entstammt meinerseits von CodeKeep. Demnach auch nicht wirklich eine Referenz wert ;)

LG

Thema: Intelligentes PropertySet
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Gutn Abend zusammen :)

jeder kennt wahrscheinlich eine Methode ähnlich der Folgenden:


void SetProperty(string propertyName, ref int backing, int value)
{ ... }

Ich bin hier mal auf etwas gestoßen, was den MagicString kram umgeht:


 #region INotifyPropertyChanged Members   ...
2
3
4        [field:NonSerialized()]
5        public event PropertyChangedEventHandler PropertyChanged;
6
7        private void OnPropertyChanged(Expression<Func<object>> exp)
8        {
9            MemberExpression me = exp.Body as MemberExpression;
10
11            if (me == null)
12            {
13                me = ((UnaryExpression)exp.Body).Operand as MemberExpression;
14            }
15
16         
17            string propertyName = me.Member.Name;
18            OnPropertyChanged(propertyName);
19
20        }
21        private void OnPropertyChanged(string propName)
22        {
23            if (PropertyChanged != null)
24                PropertyChanged(this, new PropertyChangedEventArgs(propName));
25        }
26        #endregion

Vllt hat ja noch jemand Verbesserungsvorschläge.

LG