WPF – odwołanie do CollectionView.CurrentItem w kodzie XAML

2013-03-25

Podczas korzystania z obiektu CollectionView w widoku, oprócz samej prezentacji kolekcji często mamy także dodatkowe kontrolki powiązane z właściwościami aktualnie wybranego elementu. Standardowym podejściem przy realizacji tego zadania jest utworzenie w klasie ViewModel właściwości udostępniającej aktualnie wybrany element kolekcji, a następnie zdefiniowanie w kontrolkach wiązań do interesujących nas właściwości tego elementu:

ViewModel:

public ICollectionView Persons
{
	get { return persons; }
}

public Person SelectedPerson
{
	get { return Persons.CurrentItem as Person; }
}

View:

<TextBox Text="{Binding SelectedPerson.LastName}" IsReadOnly="True" />

Istnieje jednak prostsza metoda, możemy odwołać się do właściwości CollectionView.CurrentItem bezpośrednio w kodzie XAML. Służy do tego znak slash „/”:

<TextBox Text="{Binding Persons/LastName}" IsReadOnly="True" />

Zastosowanie wyrażenia Persons/LastName oznacza odwołanie do właściwości LastName aktualnie wybranego elementu kolekcji Persons. Po tej modyfikacji właściwość SelectedPerson w klasie ViewModel jest zbędna.

Więcej informacji można znaleźć na MSDN: Binding.Path Property.

Reklamy

Posted on 2013-03-25, in .NET/C# and tagged , , , , . Bookmark the permalink. Dodaj komentarz.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s

%d blogerów lubi to: