Синтаксис WPF Binding - PullRequest
       8

Синтаксис WPF Binding

5 голосов
/ 20 июня 2011

Когда использовать символ "/" в пути?Я думал, что "/" использует только когда мы работаем с XML, но сегодня посмотрите пример:

class ViewModel
{
    CollectionView Data {get;set;}
}

class BusinessObkect
{
    string Name {get;set;}
}

Свойство DataContext окна установлено на экземпляр класса ViewModel, свойство Data экземпляра ViewModel niitializedс коллекцией объектов BusinessObject.

если свойство Text экземпляра TextBox {Binding Path=Data/Name} все работает нормально, но если Text = {Binding Path=Data.Name} - ошибка привязки.

Когда я должен использовать "/" вместо""в привязке Путь?

Ответы [ 2 ]

12 голосов
/ 20 июня 2011

Почему бы не спросить документацию :

Подсвойства свойства могут быть определены синтаксисом, подобным используемому в C #.Например, предложение Path = ShoppingCart.Order устанавливает привязку к Порядку подпроцесса объекта или свойства ShoppingCart.

Когда источником является представление коллекции текущий элемент может быть указан косой чертой (/).Например, предложение Path = / устанавливает привязку к текущему элементу в представлении.Когда источником является коллекция, этот синтаксис указывает текущий элемент представления коллекции по умолчанию.

(для удобства добавлена ​​ссылка на представление коллекции)

Это примернонастолько кратким и полным, насколько это возможно.Использование нотации . с коллекцией для свойства одного из его элементов даже не имеет смысла.например, Collection.Date в отличие от Collection/Date (если только сама коллекция по какой-то причине не обладает свойством Date).

4 голосов
/ 20 июня 2011

Вы должны использовать его, когда Data является коллекцией. / берет текущий элемент коллекции Data и возвращает ему свойство Name.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...