Wer im Netz nach guten Komponenten für Wpf sucht, gibt schnell sehr viel Geld aus. Das es auch anders geht, beweist uns AvalonDock. Von der Docking-Komponente für Wpf ist heute eine neue Version herausgekommen. Diese kann auf Codeplex heruntergeladen werden.
Neben einigen Bugfixes gibt es nun auch eine Dokumentation. Neben der Komponente gibt es auch noch ein sehr schönes Beispiel, welches einem die wesentlichen Funktionen sehr veranschaulicht.

Ich kann nur sagen: Danke und weiter so!!!
AvalonDock

Schön, dass Microsoft fleissig an der Weiterentwicklung ihres Browsers arbeitet. Seit ein paar Tagen gibt es nun endlich die erste Beta der neuen Version.
Unter folgendem Link gibt es die Beta als öffentlichen Download.

Hier auch gleich mal ein lustiger Screenshot der Version…ist halt nur Beta :)
Contextmenü des IE8
Schön, das Microsoft die eigenen Produkte kennt ;)

Weil ich gerade so schön am Module-Programmieren war, hier auch gleich das nächste:

Ein Module für die Phoca Gallery, das die letzten Galerien anzeigt:
20080710_joomla_phoca_gallery_module_last_frontend.jpg

Und hier ein Blick auf das Backend:
20080710_joomla_phoca_gallery_module_last_backend.jpg

Hier der Download: mod_phocagallery_last.zip

Im Zuge meines Umzugs auf Joomla 1.5 musste natürlich auch das Module für die Anzeige der letzten mp3 des FlamPlayers (Link) auf Joomla 1.5 portiert werden.

Hier das Frontend:
20080710_joomla_module_flamplayer_frontend.jpg

Und hier das Backend:
20080710_joomla_module_flamplayer_backend.jpg

Wichtig ist hierbei, das die FlamPlayer-Installation in der selben Datenbank, wie Joomla liegt.

Hier der Download: mod_flamplayer.zip

Schon seit etwas längerer Zeit über lege ich, wie ich meine Konzertfoto-Seite (www.punk-and-roll.de), die zur Zeit auf der 1.0.x Version basiert, auf die aktuelle Version 1.5 von Joomla portiere.
Da ich keinen alten Joomla 1.0x-Code auf der neuen Seite haben will, bin ich gezwungen, eine neue Galerie für die ca. 5800 Bilder zu finden. Meine Wahl ist auf die Phoca Gallery (www.phoca.cz) von Jan Pavelka gefallen. Die Galerie bietet eigentlich alles, was ich für meine Konzertfotos brauche. Das einzige, was mir fehlte, war ein Module, das mehr als nur ein Bild per Zufall anzeigen kann.
Nach kurzem Suchen im Forum der Phoca-Seite, kam ich zum Schluß, dass ich dieses Module wohl selbst schreiben muss.
Auf Basis des originalen Modules hier nun das erste Ergebnis:
Frontend
Und hier ein paar neue Einstellungen im Backend:
Backend

Und downloaden kann man das ganze hier: Download

Über Anregungen zu dem Module würde ich mich sehr freuen.

Und wieder einmal musste ich “recht” lange suchen um eine vermeidlich einfache Problematik zu klären. Diesmal wollte ich per Button die Einträge einer WPF-ListBox aufwärts bzw. abwärts sortieren.
Hier das Formular:
ListBoxBinding
Bei den Items der ListBox handelt es sich um eine ObservableCollection, die ich über die Eigenschaft ItemsSource an die ListBox gebunden habe.
Im Eventhandler der Buttons habe ich folgenden Code hinterlegt:

lbxProjects.Items.SortDescriptions.Clear();
lbxProjects.Items.SortDescriptions.Add(new SortDescription("ProjectName", ListSortDirection.Ascending));
lbxProjects.Items.SortDescriptions.Add(new SortDescription("Count", ListSortDirection.Ascending));

bzw.

lbxProjects.Items.SortDescriptions.Clear();
lbxProjects.Items.SortDescriptions.Add(new SortDescription("ProjectName", ListSortDirection.Descending));
lbxProjects.Items.SortDescriptions.Add(new SortDescription("Count", ListSortDirection.Descending));

Über die Eigenschaft “SortDescriptions” kann man sehr komfortabel festlegen, wie die Liste sortiert werden soll. In meinem Beispiel sortiere ich zuerst nach dem Projektnamen und dann nach der Anzahl, wodurch sich folgendes Bild ergibt:
ListBoxBinding2

Hier der Source für Visual Studio 2008: Download

Bei einem meiner WPF-Projekte ergab sich die Problematik, das ich ein Enum an mehrere RadioButtons binden wollte. Nach recht langer Suche und einigen Versuchen habe ich einen Lösungsweg gefunden, den ich hier an einem kleinen Beispiel zeigen will. Den Source für den ValueConverter habe ich mir nicht ausgedacht. Beim googlen nach der Lösung habe ich durch Zufall diese Seite gefunden und den darauf befindlichen Source verwendet.

Ausgangspunkt ist einen kleine Klasse und ein Enum

public enum ProjectStatus 
{
    InVorbereitung,
    InArbeit,
    Abgeschlossen
}
 
public class Project
{
    public string ProjectName { get; set; }
    public ProjectStatus Status { get; set; }
}

…weiterlesen…

Schon seit längerem belächelte ich das Visual Studio von meinem Kollegen Tobi, das in seinem dunklen Gewand vor sich hinarbeitet. Ich konnte dem aber bisher nicht wirklich etwas abgewinnen… Vor ein paar Tagen habe ich dann auf dem Blog von Oliver Scheer mal wieder etwas zur “Dunklen Seite der Macht” gelesen… und habe mir gesagt OK. Schwarz auf Weiß den ganzen Tag ist schon recht anstrengend für die Augen… vielleicht ist das ja doch ganz nett. Gesagt getan… die dunklen Settings installiert und nach dem ersten Schock einfach mal ein wenig programmiert, um die neuen Farben auf mich wirken zu lassen.
Nun nach ein paar Tagen muss ich sagen, das ich mit der neuen Farbauswahl vollkommen zufrieden bin. Es ist bei weitem nicht so grell, wie der alte weiße Hintergrund. Ich habe noch an ein paar Farbwerten und Schriftarten gedreht. Zum Beispiel ist der Hintergrund nun nicht mehr schwarz, sondern in einem angenehmen grau.
Hiermal ein Blick auf mein Visual Studio: 20080301_grey_side.jpg

Bei Interesse – hier ist die Settingsdatei (einfach in “c:\Dokumente und Einstellungen\[Benutzername]\Eigene Dateien\Visual Studio 2008\Settings\” speichern)
Settings

Ist nicht gerade neu, aber immer wieder schön:

Vor ein paar Tagen habe ich mich mal mit der Frage auseinandergesetzt, wie man mit Hilfe der DTE in einen vsPackage Einstellungen ändern kann. Auslöser dafür war der Wunsch meines Kollegen Tobi, die Einstellungen für das Debugging mit Hilfe des SourceServers von Microsoft auf einfache Art und Weise ein und ausschalten zu können. Die Einstellungen jedes Mal über die Tools -> Options anzupassen dauert einfach zu lange.

Einfach ein Visual Studio Integration Package über File->New…->Projects->Extensibility anlegen und in die Methode “MenuItemCallback” folgende Code schreiben bzw. kopieren:

bool? serverSupport = false;
 
DTE dte = GetService(typeof(DTE)) as DTE;
Properties properties = dte.get_Properties("Debugging", "General");
// suchen der richtigen Einstellungen
foreach (EnvDTE.Property prop in properties)
{
    if (prop.Name == "EnableJustMyCode")
    {
        prop.Value = !Convert.ToBoolean(prop.Value);
        serverSupport = !Convert.ToBoolean(prop.Value);
    }
    if (prop.Name == "EnableSourceServer")
    {
        if (serverSupport.HasValue)
        {
            prop.Value = serverSupport.Value;
            ((MenuCommand)sender).Checked = serverSupport.Value;
        }
    }
}
« Vorherige SeiteNächste Seite »