What can I say
1) Yes you're correct you can only attach an attached property to a DependencyObject
.
An alternative would be to use <ListBox SelectedIndex="1"> ...
2) You have to wrap the strings in something, but it could be:
<sys.String>Fred</sys.String>
<ListBoxItem>Fred</ListBoxItem>