2013-05-08 15 views
5

Mam ObservableCollection<Sportisti>, który zaczyna się od 0 elementów (ale jest inicjowany do nowego obiektu podczas tworzenia okna). Chciałem związać właściwość Count z TextBox. Niestety, powoduje to awarię mojej aplikacji, gdy próbuję otworzyć to okno.TextBlock Text Wiązanie właściwości ObservableCollection.Count

Teraz, ponieważ mam na tej samej stronie ListView, z powodzeniem pokazując elementy danej kolekcji, pomyślałem, że mogę po prostu wyodrębnić z niej liczbę wierszy, ale to również prowadzi do awarii.

<TextBox Text="{Binding ElementName=lvTabela, Path=Items.Count}" 
     Grid.Row="4" Grid.Column="1" Margin="0,3,60,3" 
     DockPanel.Dock="Top" IsReadOnly="True" /> 

Zauważ, że w pliku .xaml widzę zawartość TextBox 0.

Każdy pomysł, dlaczego tak się dzieje?

+2

"to powoduje awarię mojej aplikacji" "Czy jest jakiś pomysł, dlaczego tak się dzieje?" Twój debugger już to wie, nie oczekuj, że ktokolwiek tutaj wykona pracę twojego debugera * ponownie *. Opublikuj wyniki, może ktoś ci w tym pomoże. – nvoigt

Odpowiedz

6

Mój błąd, zapomniałem dodać Mode=OneWay do wiązania. Problem polegał na tym, że chociaż TextBox nie był edytowalny, system rozpoznał to jako potencjalny sposób zmiany atrybutu ListView.ItemCount, który jest tylko do odczytu.

+0

Nie zapominaj, że możesz odpowiedzieć na własne pytanie. Oznacz to jako odpowiedź, aby inni deweloperzy wiedzieli, że jest to rozwiązany problem. http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/ –

0

Moja sugestia: Zainicjuj kolekcję na puste obiekty w kodzie, gdy lista zostanie zainicjowana. To może ci pomóc.