Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


WPF strular till det med databinding.

Postades av 2008-11-13 13:43:20 - Magnus Gladh, i forum c# (c-sharp), Tråden har 4 Kommentarer och lästs av 922 personer

Jag skriver en applikation i WPF och använder mig av Databinding så mycket som det går. Enkel och ganska snygg lösning, även om det inte är helt optimerat till min värld!!!

Problemet är att om man plockar upp en artiklen och visar den i ett formulär och man ändrar något så kommer detta ju sparas ner direkt till artiklen och det vill jag inte, utan det är först när man trycker på spara knappen som datan skall sparas ner.

Så för att lösa det så har tar jag implementerat en DeepCopy funktion på mitt artikelobjekt och när jag öppnar formuläret så kallar jag på BeginEdit() metoden på mitt artikelobjekt och när jag trycker på spara knappen så kallar jag på EndEdit() metoden på mitt objekt och om jag stänger utan att spara så kallar jag på CancellEdit() metoden på mitt objekt. Det fungerar relativt bra :)

Min DeepCopy funktion fungerar så att den bara tar och serializerar ner datan till en binär memorystream och sedan deseralizerar memorystreamen tillbaka till ett nytt objekt.

Problemet som jag får är att när jag vill göra en kopia av min artikel (när artikel formuläret är öppet) så kör jag en deepcopy på detta objekt, men eftersom vissa av mina egenskaper på objektet är databindet till typ en ListView så får jag följande fel:

"Type 'System.Windows.Data.ListCollectionView' in Assembly 'PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' is not marked as serializable."

Och det köper jag, men varför i hela världen försöker den serializera ListCollectionView när min egenskap är en ObservableCollection<T>... Kan man lösa detta på något sätt, förutom att manuellt ta bort binding i koden, köra min deepcopy och sedan sätta på bindingen igen...

- M


Svara

Sv: WPF strular till det med databinding.

Postades av 2008-11-13 15:12:27 - Fredrik Normén

En lösning på ditt serializerings problem:

Eftersom du kör med ObserverCollection<T> så kommer dina data-bound control "hooka" upp sig till din Observers evnts. Och du kan inte Serializera events. Sedan är ObserverCollection<T> inte serializerbra..

Tyvärr kan du bara markera fält med NonSerializedAttribute så du måste själv hantera serializeringen, detta kan du göra med ISerializable interfacet..


Svara

Sv: WPF strular till det med databinding.

Postades av 2008-11-13 15:17:53 - Fredrik Normén

Hittat en lösning på ditt problem:

http://kentb.blogspot.com/2007/11/serializing-observablecollection.html

Lite sarkasm:

Hur hittade jag hit: www.google.com, sökte på "ObservableCollection<T> WPF" och tredje träffen va länken, lätt va :P

Hoppas det va lösningen nu bara så jag inte råkar illa ut ;)


Svara

Sv:WPF strular till det med databinding.

Postades av 2008-11-16 12:18:54 - Magnus Gladh

Skall kolla på det i morgon, jag vill ju att det skall fungera, men ,ed tanke på din "spydighet" :) så är det nästan så att jag hoppas det inte fungerar så du kommer ner på jorden igen ;)

- M


Svara

Sv: WPF strular till det med databinding.

Postades av 2008-11-17 08:44:51 - Magnus Gladh

Ja det är bara att titta uppåt bland molnen och se fredrik sväva vidare...

Det fungerade hur bra som helst, tack för den informationen.

- M


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 801
27 960
271 761
551
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies