So ganz stimmt der Betreff nicht. Ich bin aktuell am “forschen”. Mein Ziel ist es User Interfaces zu bauen abseites von Menüs oben, OK und Cancel Button unten rechts. Dann habe ich mich wieder an Bill Gates alten Traum vom Tablet PC und Stift Eingabe erinnert. So ganz nebenbei ist Touch auch nicht alles. Z.b. kann man per Touch schlecht schreiben oder zeichnen. Schon gar nicht z.B. mit Handschuhen. Das erkennt manch IPhone Besitzer in der kalten Jahreszeit im Freien gerade. Da ich einen Tablet PC besitze (schon mein 4ter) ist es ganz leicht das umzusetzen. Schon seit Silverlight 1! gibt es das InkPresenter Steuerelement. Mein Beispiel soll eine Möglichkeit bieten am Bildschirm zu unterschreiben. Das Inkepresenter Control ist einfach wie es nur sein kann. Einzig drei Events muss man noch ancodieren <InkPresenter Name="inkp" Background="transparent"
Width="800" Height="400"
MouseLeftButtonDown="InkPresenterMouseDown"
MouseMove="InkPresenterMouseMove"
MouseLeftButtonUp="InkPresenterMouseUp">
</InkPresenter>
Ich verpasse der geschrieben Linie (Stroke) noch eine Konturfarbe Gelb. Das sieht cool aus und liest sich auf wechselnden Untergrund wie z.B. ein Bild besser.
Private Sub InkPresenterMouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseButtonEventArgs)
inkp.CaptureMouse()
newStroke = New System.Windows.Ink.Stroke()
newStroke.DrawingAttributes.OutlineColor = Colors.Yellow
newStroke.StylusPoints.Add(e.StylusDevice.GetStylusPoints(inkp))
inkp.Strokes.Add(newStroke)
End Sub
Private Sub InkPresenterMouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseEventArgs)
If Not IsNothing(newStroke) Then
newStroke.StylusPoints.Add(e.StylusDevice.GetStylusPoints(inkp))
End If
End Sub
Private Sub InkPresenterMouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseButtonEventArgs)
newStroke = Nothing
inkp.ReleaseMouseCapture()
End Sub
Das funktioniert von Silverlight 2 bis Silverlight 4 und auch mit normaler Maus! Noch ein Wort zum Tablet PC in meinen Schulungen nutze ich das sehr oft um Skizzen zu erstellen die ich meinen Kursteilnehmern dann auch gleich digital mitgeben kann.
Erstellt am:
06.02.2010 14:51:15
| Kommentare: | Erstellt von: Hannes
Preishuber
Kategorien: Silverlight,
|
Ich muss gestehen für die einfachsten Dinge des Lebens habe ich manchmal kein Stück vom Käsekuchen Source Code bei der Hand. Noch nie habe ich einen SaveFielDialog vernwedet der in Silverlight 3 vorhanden ist. Auf Benutzerinteraktion z.B. Button Click lässt sich ein solcher öffen. Anbei das Codeschnippsel Dim buffer As String
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
Dim fo As New OpenFileDialog
If fo.ShowDialog Then
Dim fileStream As System.IO.Stream = fo.File.OpenRead
Using reader As New System.IO.StreamReader(fileStream)
buffer = reader.ReadToEnd
End Using
fileStream.Close()
End If
End Sub
Private Sub Button_Click_1(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
Dim fc As New SaveFileDialog
If fc.ShowDialog Then
Dim fileStream As System.IO.Stream = fc.OpenFile()
Dim sw As New System.IO.StreamWriter(fileStream)
sw.Write(buffer)
sw.Flush()
sw.Close()
End If
End Sub
Auch dies eine Frage aus einer Silverlight Schulung von mir bei ppedv.
Erstellt am:
27.01.2010 19:41:55
| Kommentare: | Erstellt von: Hannes
Preishuber
Kategorien: Silverlight,
|
Wieder ist eine Silverlight Schulung vorbei. Die Teilnehmer waren großartig und haben mich wirklich gefordert. So ca 10 Fragen sind auch unbeantwortet geblieben, u.a. “wie kann ich den Tag im Calendar Control anders darstellen?” Dazu zunächst einmal eine Einführung in das Templating mit Expression Blend. Per Context Menü-Edit Editional Templates- Edit Calendar DayButtonstyle- Edit a Copy- zerlegt man den Kalender in sein Template.Im Object Browser von Blend kann man dann durch die einzelnen Bestandteile des Controls navigieren. In der Design Ansicht kann man dann sehr einfach das grundlegende Layout verändern.  Mit der Breadcrumb Navigation oben kann in das Template hinein navigiert werden oder dieses durch Click auf Calendar auch wieder verlassen werden. 
Erstellt am:
27.01.2010 19:07:53
| Kommentare: | Erstellt von: Hannes
Preishuber
Kategorien:
|
Die AutoCompleteBox ist aktuell nur per Silverligth Toolkit zu erhältlich. D.h. im Standard von SIlverlight nicht enthalten. Bei meinen Recherchen im Web fand ich wie üblich unzählige Beispiele die entweder nicht funktionierten oder meine Anforderung nicht abdecken. Das liegt u.a. daran das das Silverlight Toolkit sehr kurze Development Zyklen hat und auch ständig Funktionsänderungen unterliegt. Konkret will ich eine komplexe Liste an die AutoCompleteBox binden um z.B. die Popup Darstellung per Datagrid zu erledigen. Meine Zielplattform ist hier Silverlight 4 es sollte aber in Silverlight 3 identsein, da das Toolkit auf dem gleichen Build basiert. <input:AutoCompleteBox
x:Name="txtFaxnummer"
IsTextCompletionEnabled="True"
ValueMemberBinding="{Binding AName}"
FilterMode="Contains"
Height="55" VerticalAlignment="Top" d:LayoutOverrides="VerticalAlignment" FontSize="29.333">
<input:AutoCompleteBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<ContentPresenter Content="{Binding Path=AName}" />
</StackPanel>
</DataTemplate>
</input:AutoCompleteBox.ItemTemplate>
</input:AutoCompleteBox>
Mit dem Attribut TextCompletionEnabled wird der gesuchte Text automatisch ergänzt. Das ValueMemberBinding bindet letztendlich das eigentliche Property aus der Liste an die Eingabe. Für die Anzeige benötigt man in diesem Fall eine Itemtemplate. Bei einfachen Listen wie z. B. String Arrays geht das einfacher. Der eigentliche Clou liegt im Filtermode. Hier wird per Contains LINQ ähnlich definiert wie die Suche in der Liste erfolgen soll.
Die zuweisung der Daten Liste erfolgt per Code z.B. im Page_loaded Event. Um das Filtern in den Daten indivduell zu ermöglichen kann man eine Funktion dem ItemFIlter zuweisen. In meinen Tests hat das Ohne auch gar nicht funktioniert.
Autocompletebox1.ItemsSource = Liste
Autocompletebox1.ItemFilter = AddressOf MyFilter
Dann noch der Inhalt der Filter Funktion
Private Function MyFilter(ByVal search As String, ByVal item As Object) As Boolean
Dim lst As Liste = TryCast(item, Liste)
If lst IsNot Nothing Then
Dim filter As String = search.ToUpper()
Return (lst.AName.ToUpper().Contains(filter) _
OrElse lst.Nummer.ToUpper().Contains(filter))
End If
Return False
End Function
Silverlight 4, Beta, Silverligth Toolkit November 2009, Visual Studio 2010 Beta 2
Erstellt am:
27.01.2010 08:42:18
| Kommentare: | Erstellt von: Hannes
Preishuber
Kategorien: Silverlight 2,
|
Ich mach gerade die letzten Updates für meinen Silverlight Kurs nächste Woche in Karlsruhe. Brandaktuell neue Bits vom 20. Jan 2010. http://support.microsoft.com/kb/979202
Erstellt am:
23.01.2010 19:48:10
| Kommentare: | Erstellt von: Hannes
Preishuber
Kategorien: Silverlight,
|
Ich habe mir eigentlich abgewöhnt diese das ist neu in Beta x Version Blog Postings zu schreiben. Keiner kümmert sich später um seine Beta Postings und wenn man im Web sucht findet immer wieder Code der nicht läuft, weil für andere Version geschrieben. Diese Zeit die ich dafür aufwende finde ich verschwendet. Vielleicht liegts auch am Alter. Egal. In diesem Fall möchte einen Hinweis Justin Angel setzen. Justin ist wirklich ein gracy guy. Er war bei Microsoft im Silverlight Team und hat MS verlassen weil im das wohl zu eng war. Seit Dezember ist er nun wieder frei unterwegs und hat eine Blog Engine auf Silverlight Basis geschrieben. http://justinangel.net/CuttingEdgeSilverlight4ComFeatures Der Link hier zeigt auf sein aktuellstes Posting rund um COM. Das Component Object Modell wurde vor Jahren mit .NET Tod gesagt. DIe Wahrheit ist, das Windows 7 mindestens zu 98% auf COM basiert und man heute nur mit C++ vernünftig COM programmieren kann. VB 6 konnte das auch, Gott hab es selig. Mit Silverligth 4 wird auf der Windows Plattform (und nur dort) eine COM Interface Einzug halten. Damit ist es möglich jede Security Grenze von Silverligth zu sprengen und SL aus der Sandbox zu heben. Z.B. direkter Filezugriff per Scripting.Filesystem Object. Man erinnert mich das an meine VB Zeiten. Upps! die sind ja noch gar nicht vorbei und so werde ich auf der VSone in meiner Silverlight 4 Session auf den Strichpunkt am Ende der Zeile verzichten. COM Zugriff wird sicher dabei sein.
Erstellt am:
20.01.2010 10:23:16
| Kommentare: | Erstellt von: Hannes
Preishuber
Kategorien: Silverlight, Konferenzen,
|
Ich schreibe gerade für das Magazin Visual Studio One an einem Artikel zum Thema IIS7, Media und Silverlight. Das Thema hat mehr in und an sich wie man glauben möchte. Speziell wenn man Live Streaming realisieren möchte, benötigt der IIS zusätzliche Software. Das Silverlight Media Steuerelement unterstützt allerdings diese spezielle Streaming Methode, von Microsoft Smooth Streaming genannt, nicht. Dafür braucht man ein neues Silverlight Control das Smooth Streaming Media Element. Das Control findet sich im IIS Smooth Streaming Player Development Kit und dieses gibts ganz neu als Beta 2. http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=2b1ce605-3b99-49ad-8a26-1250f2acbbf6
Erstellt am:
17.01.2010 16:20:44
| Kommentare: | Erstellt von: Hannes
Preishuber
Kategorien: Silverlight,
|
Obwohl Visual Studio 2010 ein wenig später kommt, ist im Februar in München auf der VSone der richtige Zeitpunkt sich zu dem Thema ausführlich auszutauschen. Für mich als Web Guy, gibt es im ASP.NET Bereich, endlich mal wieder was richtig Neues. Ich werde nicht über ASP.NET MVC sprechen das macht jemand wesentlich kompetenterer, Scott Hanselman von Microsoft. ASP.NET Performance Boost In dieser Session werde ich über optimierungen vom Datenbank Server, über die Web Anwendung bis hin zum HMTL Code aus dem Nähkästchen plaudern. Ich behaupte mal frei erfunden das 90 % aller ASP.NET Anwendungen mit minimalen Aufwand mindestens doppelt so schnell sein könnten. Das bedeutet, das ein Web Server 100% mehr Request pro Sekunde bearbeiten kann. Das ist ja schon mal was. In vielen meiner Projekte ergaben sich sogar Ersparniswerte von über 90%. Silverlight 4 Silverlight ist meiner Ansicht nach die wichtigste Technologie von Microsoft, nach ASP.NET. Trotzdem haben noch nicht viele .NET Developer damit wirklich gearbeitet. Mein Ziel für diese Session ist, einen Überblick zu bieten. Also auch für Entwickler die kaum Ahnung von Silverlight haben. Ein Rundflug rund um die Technologie basierend auf der Version 4. Wer also schon seit Jahren mit SL 3 entwickelt wird deshalb auch viel Bekanntes hören. Umstieg von ASP.NET 2 auf ASP.NET 4 Ich mache auch jedes Jahr einen Workshop auf der VSone. Dieses Jahr möchte ich ASP.NET Experten ansprechen, die in der Regel am Stand von ASP.NET 2 entwicklen. Zwar hat sich mit ASP.NET 3.5 bzw SP1 ein wenig getan in Richtung Datenmodellierung und LINQ. Massiv findet man diese Funktionen nicht Projekten und es ist auch nicht immer die beste Wahl. Dazu kommt nun mit ASP.NET 4 eine Reihe neuer Features und Verbesserungen im Detail. So werde ich sicher auf neue Controls bzw Änderungen in den Controls eingehen. Als Beispiel das Menu Steuerelement das nun endlich LI Tags rendern kann. Es exisitieren einige neuen EInstellungen auch in der Web.config. Dabei kann z.B. über Cache Provider an der Performance gedreht werden. Ziemlich viel hat sich im Client Teil getan, auch als AJAX bekannt. Templatres, browser seitige Datenbindung, Anbindung an JSON WCF Services oder ADO.NET Dataservice sind nun möglich und werden im Workshop vermittelt. Also dieser Workshop ist für alle ASP.NET Entwickler geeignet die kurz und bündig das wichtigste bis zur Version 4.0 lernen wollen.
Erstellt am:
17.01.2010 15:44:53
| Kommentare: | Erstellt von: Hannes
Preishuber
Kategorien: Konferenzen, ASP.NET, Silverlight, .Net,
|
We just release our Fax client support for Windows 7, that is taking advantage on huge performance improvements on printing & rendering engine of Windows 7. And also the new client have few other highlights : - import windows 7 & vista contacts - settable temporary folder - size , performance and quality optimization - signed drivers , optimized installer / uninstaller you can download it from our download place Stay tuned , for new gadgets in near future, client side fax gadget with search, send functionality, extender monitoring and reporting tools,server side automation engine, for new upcoming Visendo Fax 10. Visendo Team
Erstellt am:
14.01.2010 22:41:08
| Kommentare: | Erstellt von: cosmin
dumitru
Kategorien:
|
Ich muss zugeben, die Links sind original von http://ux.artu.tv/ aber trotzdem echt wertvoll für den Einstieg in User Interface Design. 1 - Principles of Design Series: Learning about Balance using Expression Design | Video | Assets| 2 - Principles of Design Series: Learning about Rhythm using Expression Design | Video | Assets | 3 - Principles of Design Series: Learning about Emphasis using Expression Design | Video | Assets | 4 - Principles of Design Series: Learning about Symmetry and Asymmetry using Expression Design | Video | Assets | 5 - Principles of Design Series: Learning about Unity using Expression Design | Video | Assets | 6 - Principles of Design Series: Learning about Points, Lines, and Form using Expression Design | Video | Assets | 7 - Choosing Colors to Complement Your User Interface with Expression Design | Video | Assets | 8 - Experimenting with User Interface Colors with Expression Design | Video | Assets | 9 - Creating Mosaic and Tiled Patterns using Expression Design | Video | Assets | 10 - Learning to Create Icons using Expression Design | Video | Assets | 11 - Creating a Sample Icon using Expression Design | Video | Assets | 12 - Designing a Glassy Button using Expression Design | Video | Assets | 13 - Applying Effects to Bitmap Images using Expression Design | Video | Assets |
Erstellt am:
13.01.2010 20:03:32
| Kommentare: | Erstellt von: Hannes
Preishuber
Kategorien: Expression Web, Silverlight,
|
Gibts nicht? Ich bin gerade über folgende Website gestolpert http://silverlight.net/learn/mobile/ ich zitiere Silverlight for mobile is currently under development. We plan to release the final version in 2009. Aha.
Erstellt am:
02.01.2010 14:22:10
| Kommentare: | Erstellt von: Hannes
Preishuber
Kategorien: Silverlight,
|
In meinen Microsoft Expression Blend Schulungen gehört Video und Audio im Internet zum Standard Inhalt. Mit Expression Encoder ist es ein leichtes aus einem Video eine Silverlight Projekt samt inkludierten Media Player zu generieren. Wem das optisch nicht gefällt, kann auch einen Media Player in wenigen Minunten im Eigenbau erzeugen. Das Silverlight Media Element bietet dafür die nötige Funktionalität. Aber es geht noch mehr. Expression Blend 3 enhält als Steuerelement einen kompletten Player. Der Funktionsumfang lässt eigentlich nichts zu wünschen übrig. Um Videos hinzuzufügen wird eine Playlist erzeugt. Im Menüpunkt Items kann dann die Liste der Videos angelegt werden. <ExpressionMediaPlayer:MediaPlayer
d:LayoutOverrides="Width, Height">
<ExpressionMediaPlayer:MediaPlayer.Playlist>
<ExpressionMediaPlayer:Playlist/>
</ExpressionMediaPlayer:MediaPlayer.Playlist>
</ExpressionMediaPlayer:MediaPlayer>
Für die einzelnen Filme in der Playlist, kann dann definiert werden: Title, Kapitel oder auch Preview Bilder. Wenn man eine externe Quelle hat, muss man im Context Menü über Custom Expression die URL des Videos eintragen.
Nach ausführen der Silverlight Anwendung mit (F5) startet nach kurzer Zeit der Film. Das Video wird also angezeigt während es noch runtergeladen wird. Das nennt man progressive Download.
Der Blend Player zeigt den Status dazu auch unten an. Der graublaue Balken informiert den Benutzer wieviel von den Daten bereits angekommen sind. Der graue Schieberegler zeigt die Abspielposition. Innerhalb des blauen Balkens kann der Benutzer auch repositionieren. Rechts davon aber nicht*. Mit dem Werkzeug HTTPFiddler kann man den laufenden Download auch gut beobachten (hier rechts der Screenshot)

Wenn der Webserver es unterstützt kann auch beim Download per GET *repositioniert werden. IIS7 bietet das dafür nötige HTTP Range Kommando.
Erstellt am:
01.01.2010 15:16:31
| Kommentare: | Erstellt von: Hannes
Preishuber
Kategorien: Silverlight, Blend, Web, .Net,
|
In einer Diskussion mit Max Knor (Evangelist Microsoft Österreich) ging es um Trigger und warum die diese schlecht sind. Der klassische Trigger aus WPF oder Silverlight 2 existieren in Silverlight 3 so nicht mehr. Ich hab da auch ne Flasche Sekt dafür aufgemacht. Trotzdem braucht man die Funktion, daß UI auf Benutzeraktivitäten reagieren soll, auf Designer Seite. Der klassische Code Ansatz Storyboard.Begin() reicht nicht. Wer schon mal ein SL 3 Control, wie einen Button, mit Expression Blend in sein Template zerlegt hat, wird den Visual State Manager schon kennen gelernt haben. Mit diesem können nun Statusänderungen definiert werden. Z.B. hat eine Checkbox den Status Check und Unchecked. Im Status Checked muss ein Haken angezeigt werden. (dieser Haken ist ein Path Element mit dem Namen CheckIcon). Der Übergang von Haken auf Haken weg, wird über klassische Animationen direkt im ViewstateManager erledigt. Bei der Checkbox wird einfach die Transparenz verändert. Im folgenden werde ich kurz zeigen, wie man eigene Visual States definiert. Dabei führt kein Weg an einem UserControl vorbei. In diesem erzeuge ich nun ein Rechteck das zwei Stati hat. Rot und Blau. Im Reiter State wird zunächst eine Gruppe angelegt- hier farbewechseln- und dann per Add State ein neuer Status hinzugefügt. Solange der rote Knopf an ist, wird eine Änderung am Rechteck als Animation aufgezeichnet. Ich setze einfach die Background Farbe passend in jeweiligen States auf Rot oder Blau. Um den Effekt mit fliessenden Übergang zu gestalten, aktiviere ich das Icon mit den Wellen ( Fluid Layout) und setze die Default Zeit auf 2 Sekunden. Als nächstes wird dieses UserControl (Reiter Assets) auf eine neue XAML Page gezogen. Im Reiter Assets findet sich ein weiters neues wunderbares Feature von Expression Blend 3, die behaviours. Von dort ziehe ich das GoToStateAction Behavior auf das Control, das eine Änderung des UI Status bewirken soll. Da ich zwei Stati habe, brauche ich auch zwei GoToStateAction, um diese Statusänderung zu steuern. Alles weitere ist schon Kinderspiel. Über den Trigger Dialog (ja ich weis, Trigger gibts doch nicht mehr), der GotoStateActionkann man festlegen, welches Event, welche Statusänderung auslösen soll. Diese und weitere Tricks lernt man in meine Silverlight Kurs oder Expression Blend Schulungen.
Erstellt am:
31.12.2009 08:30:23
| Kommentare: | Erstellt von: Hannes
Preishuber
Kategorien: Silverlight, Blend,
|
Seit Silverligth 3 gibt es eine MouseWheel Event. Vorher gab es nicht mal das. Der Workaround z.B. für Deep Zoom lief über die HTML Browser Bridge nach Jscript. Obwohl es das Event nun gibt, das man abfangen und behandeln kann, sind Standard Controls wie z.B. die Listbox nicht mit einem Standard Maus rollen verhalten ausgestattet. Es wird zwar das Event gefeuert, aber die Listbox scrollt nicht. Ähnliches gilt für andere Controls wie eine Textbox mit viel Text. Erst mit Silverlight 4 versprechen die Redmonder Entwickler native Support “Built-in MouseWheel Support on ScrollViewer, TextBox, ComboBox, Calendar, DatePicker” Wie steht es heute? Ich habe eine recht nette Lösung über ein Blend Behavior gefunden. http://compiledexperience.com/blog/posts/A-Mouse-Wheel-Blend-Behavior oder http://silverlightplayground.boschin.it/post/2009/07/10/Silverlight-30-RTW-An-universal-MouseWheelScrolling-behavior.aspx Der Vorteil ist, nur einmal als DLL kompilieren und dann einfach das Behavior an das zu scrollende Control attachen. Mit Expression Blend ein Kinderpsiel. Ein andere Ansatz ist das MouseWheel Event zu verwenden und das Scrollen manuell anstossen. Dazu kann man die Eigenschaft ScrollToVerticalOffset der Scrollbars verwenden. Wesentliches Problem ist das man dafür erst die Listbox in sein Template zerlegen muss um an den enthaltenen Scrollbar heranzukommen. Das ganze als Antwort auf meinen Expression Blend Schulungsteilnehmer Timo.
Erstellt am:
29.12.2009 17:41:14
| Kommentare: | Erstellt von: Hannes
Preishuber
Kategorien:
|
Ein Teilnehmer meines Silverlight Kurses schreibt. habe in der vergangenen Woche meine Silverlight-Anwendung mit WCF out of browser nutzen wollen und es kommt immer die Fehlermeldung: Der Remoteserver hat einen Fehler zurückgegeben : NotFound Das sagt leider im Zusammenhang mit WCF nicht viel aus. Silverlight interpretiert nahezu jede Exception, egal ob 500er Fehler am Server oder Cross Domain Issue als notFound. Ülicherweise rate ich hier mit HTTPFiddler aufs Kabel zu schauen. Bei Out Of Browser Anwendungen gestaltet sich das schwieriger weil man den Port für den Internet Zugriff nicht einfach umbiegen kann. Aber man kann debuggen! Der Debugger lässt sich auch bei einer Silverlight Anwendung die OOB läuft verwenden. Allerdings muss man manuell den Prozess sllauncher attachen. Um ein wenig Zeit zu gewinnen kann man im Code prüfen ob der Debugger läuft While Debugger.IsAttached = False
System.Threading.Thread.Sleep(100)
End While
Damit verhindert man das die Anwendung schon längst alles abgehandelt hat, bevor der Debugger gestartet wurde.
Erstellt am:
21.12.2009 20:29:59
| Kommentare: | Erstellt von: Hannes
Preishuber
Kategorien: Silverlight,
|
We have for December an specific Sales Marketing campaign running as follow : -On Order of 3 Visendo Products you get an new coming popConnect 10 License for free - by Ordering 3 Visendo Products you get 50% discount at cheapest one. Let us know you at sales@ppedv.de about your special needs or solutions. http://www.ppedv.de/software/visendosales.aspx For all that will subscribe to our BetaTester program for the new Visendo 10 Suite and will send us feedback we have specific offers to reward their valuable contribution to Visendo products with 1 Community Edition for free, or free or small business applications package for promotional price,and many others. english speaking users - http://www.ppedv.de/software/feedback/survey.aspx?productID=48&featureID=4&langID=en or german speaking users - http://www.ppedv.de/software/feedback/survey.aspx?productID=48&featureID=2&langID=de Visendo Team
Erstellt am:
10.12.2009 11:50:05
| Kommentare: | Erstellt von: cosmin
dumitru
Kategorien:
|
Auf der VSone Website habe ich eine kleine Anwendung eingebaut die die Sprecher anzeigt. Leider war im Firefox davon nichts zu sehen. Im Internet Explorer klappts. Nach einem Tipp von meinem Kollegen Felix auf die Höhe des DIV zu achtren fand ich das Problem im Object Tag. Hier muss Height gesetzt sein sonst sieht man im Mozilla Firefox nichts von der Silverlight Anwendung. <div id="silverlightControlHost">
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2"
width="150">
<param name="source" value="ClientBin/SilverlightApplication1.xap"/>
<param name="onError" value="onSilverlightError" />
<param name="background" value="Transparent" />
<param name="windowless" value="true" />
Ich bin mir nicht ganz sicher, ob es mit damit zu tun hat das ich das DIV per windowless über den HTML lege.
Erstellt am:
01.12.2009 19:40:20
| Kommentare: | Erstellt von: Hannes
Preishuber
Kategorien: Silverlight, ASP.NET,
|
Mehr Wissen in kürzerer Zeit, ist das Motto der ppedv Quickys. Diese neue Seminarreihe greift ganz konkrete Problemstellungen aus der Projektpraxis auf. Dieses mal geht es ums Entity Framework. Gerade die mittlere Schicht für den Datenzugriff wirft unglaublich viele Fragen auf. Was ist der beste Weg? Nehme ich nhibernate oder doch was von Microsoft? Wie löse ganz konkrete Aufgabenstellungen? Genau das erwartet Sie an jedem der ppedv Standorte an einem Tag und zum unschlagbaren Preis. Natürlich Hands on um es selbst auszuprobieren. Die Teilnehmerzahl ist auf 10 pro Ort begrenzt. 30. Nov. in Köln 01. Dez. in Siegen 02. Dez. in Frankfurt 03. Dez. in Karlsruhe 04. Dez. in Stuttgart 07. Dez. in Dresden 08. Dez. in Leipzig 09. Dez. in München 10. Dez. in Burghausen 11. Dez. in Wien Also gleich anmelden und von den ppedv Experten lernen. Schliesslich ist die Architektur Entscheidung einer der wichtigstem im Softwareprojekt.
Erstellt am:
24.11.2009 16:22:34
| Kommentare: | Erstellt von: Hannes
Preishuber
Kategorien: ASP.NET, .Net, LinQ, SQL,
|
Beim Erstellen eines WPF-Projektes, das über eine ausgelagerte Bibliothek auf Daten über das Entity-Framework zugreift zeigt Visual Studio (2008 SP1) ein seltsames Verhalten. Die Anwendung kompiliert (solange fehlerfrei natürlich) allerdings ist der Designer “tot” und folgende Fehlermeldung (nicht Warnung) wird angezeigt: “The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.” Offensichtlich ein Fehler über einen fehlenden Connectionstring (fehlerhaft eher nicht, da der Connectionstring über den VS Wizard generiert wurde). Doch hinzufügen des Strings in die Sektion ConnectionStrings der App.Config bringt auch nicht den gewünschten Erfolg. Das ist darauf zurückzuführen, dass während der Design-Zeit VS versucht uns LiveDaten zu präsentieren, dazu versucht der Prozess devenv.exe (nämlich unsere Instanz von Visual Studio) die benötigte Verbindung aufzubauen und sucht vergeblich in der eigenen Applikationskonfiguration (also in devenv.exe.config) nach dem entsprechenden Connectionstring. Als Workaround empfiehlt Microsoft (https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=386982), dass Fake-Daten während der Entwicklungszeit generiert und geliefert werden sollen. Das bedeutet, dass wir die Klassen, die uns das EntityDataModell erzeugt hat zwar nutzen können, aber nicht über dieses befüllen. Hierfür lassen sich die Präprozessordirektiven von C# prima einsetzen (http://msdn.microsoft.com/de-de/library/ed8yd1ha.aspx). Einfach mit Hilfe der Direktive #define am Anfang des entsprechenden Dokuments eine Konstante (als Name zum Beispiel “DesignView”) definieren und die mit der Direktive #if DesignView an entsprechender Stelle abfragen. Der Vorteil ist dabei, dass Code, der nicht benötigt wird auch gar nicht erst kompiliert wird. Microsoft verspricht diesen Bug in VS 2010 zu beheben, in der Beta 2 ist davon allerdings noch nichts zu merken.
Erstellt am:
23.11.2009 10:15:37
| Kommentare: | Erstellt von: Felix
Ruthenberg
Kategorien: .Net, C#, WPF,
|
Produktivität ist einer (der) Schlüssel zum Erfolg eines Unternehmens. Ein Unternehmen das die produktivsten Prozesse besitzt, kann günstiger am Markt anbieten und/oder höhere Margen erzielen. In der Rolle des Entscheiders ist also für mich Produktivität ein hoher Wert, auch in der Softwareentwicklung. Ich hadere akutell noch mit der Meßbarkeit, das ist aber ein anderes Thema. Ein Baustein zu mehr Produktivität ist der Einsatz des best passenden Werkzeuges für den jeweiligen Arbeitseinsatz. Das setzt natürlich die gute Kenntnis der Werkzeuge vorraus. Hier setzen wir mit unseren Schulungen und Events an, um dieses Wissen beim Entwickler zu erzeugen. In der Praxis erlebe ich aber oft das genaue Gegenteil. Mühsam erworbenes Detail Know How wird plötzlich überall eingesetzt, auch wenn es anders einfacher gehen könnten. Die Frage wird einfach nicht mehr gestellt. Wenn man WCF gut verstanden hat wird plötzlich alles Service orientiert entwickelt, obwohl z.B. ein simpler SQL Datenzugriff per Datareader viel schneller sein kann. Sowohl in Ausführung als auch Implementierung. Wenn man Test Driven verstanden hat, muss immer zuerst der Test entwickelt werden, auch wenn die erzeugte Software nur von 5 Leuten ein paar Tage verwendet wird. Allein um das Vorgehens willen wird die Methode angewandt. Alle Leute die das nicht verstehen sind dann keine guten Programmierer. Dies nennt man “Golden Hammer”. Der Begriff stammt aus einer Reihe von Antipattern, nach dem Motto, so sollte man es nicht machen. Wunderwaffe (engl. Golden hammer)Ein bevorzugter Lösungsweg wird als universell anwendbar angesehen http://de.wikipedia.org/wiki/Anti-Pattern
Erstellt am:
23.10.2009 16:23:29
| Kommentare: | Erstellt von: Hannes
Preishuber
Kategorien: .Net,
|