| 

.NET C# Java Javascript Exception

0
Hallo,

ich habe eine ListBox deren Inhalt per Binding an eine Liste im ViewModel gebunden ist.

<ListBox ItemsSource="{Binding Path=ContainerList}">


Nun möchte ich die Scrollbar die sichtbar wird, wenn der Inhalt zu groß wird gerne ein wenig größer machen.

Ich habe es folgendermaßen versucht
<ListBox ItemsSource="{Binding Path=ContainerList}">
<ScrollViewer>
<ScrollViewer.Resources>
<sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">60</sys:Double>
</ScrollViewer.Resources>
</ScrollViewer>
</ListBox>

Leider bekomme ich zur Laufzeit dann immer den Fehler
System.Windows.Markup.XamlParseException ist aufgetreten.
Message=Zeilennummer "39" und Zeilenposition "48" von "Durch Hinzufügen eines Werts zu einer Auflistung vom Typ "System.Windows.Controls.ItemCollection" wurde eine Ausnahme ausgelöst.".



Auch versuche wie
<GroupBox Grid.Column="2" Grid.Row="1" Header="Ergebnis" FontSize="30">
<ListBox ItemsSource="{Binding Path=ContainerList}">
<ScrollViewer Width="100"/>
</ListBox>
</GroupBox>

bringen leider den selben Fehler.

Hat jemand eine Idee? Bin ich hier vollkommen auf dem Holzweg?

Danke
News:
12.09.2011
sebingel 83 1 5
1 Antwort
2
Du bist insofern auf dem Holzweg, als dass der Content-Bereich einer ListBox die Items in der Liste darstellt. D.h. Du versuchst mit deinem XAML, den ScrollViewer als Listeneintrag hinzuzufügen. Das wäre schon an sich nicht sinnvoll, obendrein ist Deine Liste aber gebunden und erhält die Einträge aus ContainerList. Deshalb die XAML-Exception.

Für das, was Du erreichen willst, sind Styles und Templates das richtige Stichwort. Vielleicht hilft Dir das hier weiter.
12.09.2011
Matthias Hlawatsch 13,2k 4 9
Danke. Dass habe ich fast befürchtet, dass ich mich da mit den Styles und Templates weiter auseinandersetzen muss. ;)
sebingel 12.09.2011
Ja, willkommen in der Welt von WPF! Ist doch aber immerhin schöner, als OnPaint überschreiben zu müssen, oder? ;-)
Wenn die Frage für Dich damit beantwortet ist (wenn auch vielleicht nicht wie erhofft), wäre es nett, wenn Du meine Antwort noch akzeptieren würdest. Danke!
Matthias Hlawatsch 12.09.2011

Stelle deine .net-Frage jetzt!