Elentok's Blog

About me
Making the items in a WPF ItemsControl stretch

I used the layout I described in a previous post in a Prism-based application where I used ItemsControl objects for regions, and the views I attached to them didn't stretch to fill the ItemsControl.

After some research I found the following solution: replace the default items panel template with a DockPanel.

Data-binding the SelectedItem property of the WPF TreeView

In a new WPF application I'm writing I needed to bind the "SelectedItem" property of the TreeView control to the "SelectedItem" property of its ViewModel; but, alas, the TreeView's "SelectedItem" property is read-only...

After some googling I found the Versatile TreeView by Philip Sumi which adds the property I wanted, but since I'm learning WPF and want a deeper understanding I decided to write my own (and use Philip's TreeView as reference).

3-Pane Layout in WPF

I've started playing with Prism again, and in the application I'm writing I needed a three-pane layout with splitters (ignore the ugly colors):

iPod touch and Edimax BR6204Wg

My ipod didn't want to connect to the router using WPA.

After a couple of hours of research managed it to make it work with the following changes:

  1. I upgraded the firmware to version 1.61
  2. I changed the channel from 11 to 6.

Now it seems to work great (I'm writing this post from the iPod!)

Dell D630 + Windows 7/Vista + Bluetooth

For some reason the default Bluetooth driver that comes with Windows 7 and Vista doesn't have the "Turn Adapter On/Off" option, so you can't turn on the bluetooth...

My High-Definition Kit

Every time I need to install the required software to play HD videos properly I start looking for links, so I decided to put everything in one place:

If you want some more control over the audio (surround sound, etc...) the you can also install AC3Filter.

Some VLC Tweaks (Smooth HD 1080 and Hebrew Subtitles)

Getting VLC to show hebrew subtitles:

  1. Open Tools -> Preferences
  2. Select "Subtitles & OSD"
  3. In "Default encoding" select "Hebrew (ISO 8859-8)"
  4. In "Preferred subtitles language" enter "he,en" or "en,he" (when VLC finds more than subtitle file in the video file's directory, this will tell it which one to load by default).
Alt + Drag on Vista

For several years now I've been using the Easy Window Drag autohotkey script to simulate the Alt+Drag feature that allows you to drag or resize a window by pressing on the alt key and then pressing on the window (left button to move, right button to resize) and dragging the mouse (this feature is available in almost every Linux window manager).

Since I moved this script has started working weird, sometimes it works and sometimes it doesn't, and today I found an alternative that works and it's called AltDrag, it's open source project in google code written in C, and it takes less than 2MB of RAM (which is another improvement) and it works perfectly!

Getting the SVN Service to work on Vista

Since I'm thinking of moving from SVN to a distributed version control system, the first thing I need to do is to try to convert my current repositories to the other version control systems and the first one I tried was git.

My repositories are local and I access them via file://..., and apparently the git-svn application can't access the repositories that way, so I had the get the my repositories to work via the svn:// protocol.

Distributed Version Control Systems - Part 1

Until about a year ago I was using the Darcs version control system (I used the command line interface), I liked it because it was a stand-alone executable, no external dependencies whatsoever (completely portable), and I could easy backup my repository to an ftp server, and use it directly from there.

The idea in a DVCS is basically that each user has its own local copy of the repository (not just a working copy, but the entire history, sort of a personal branch), so you can basically work offline, view the project's history, commit, rollback and what else, and no one will see your changes until you synchronize your changes to the central repository.