Зачем использовать Path в привязке данных silverlight? - PullRequest
1 голос
/ 03 июня 2011

Я новичок в Silverlight.Я нашел несколько статей в интернете для привязки данных.Я вижу, что привязка выполняется по-разному следующим образом:

<TextBlock Text="{Binding Name}"/>
<TextBlock Text="{Binding Path=Name}"/>
<TextBlock Text="{Binding Path=Account}"/>
<TextBlock Text="{Binding Path=Property1.Property2.Property3}"/>

В первом текстовом блоке привязка выполняется с именем свойства.Во втором примере также привязка выполняется с именем свойства.Тогда что же отличается от Path во втором текстовом блоке?Я знаю, как сделать связывание для первых трех текстовых блоков, но я не знаю, как сделать связывание с четвертым текстовым блоком?и когда мы используем привязку следующего типа

<TextBlock Text="{Binding Path=Property1.Property2.Property3}"/>

Можете ли вы дать мне пример кодирования вместе с объяснением всего вышеперечисленного?Если я что-то не так понял, пожалуйста, наведите меня.

Ответы [ 2 ]

3 голосов
/ 03 июня 2011

Используя следующую привязку:

<TextBlock Text="{Binding Path=Property1.Property2.Property3}"/>

Вы говорите, что у контекста данных TextBlock есть свойство с именем Property1, которое возвращает объект со свойством с именем * 1006.*, который, в свою очередь, имеет свойство под названием Property3.Значение, возвращаемое Property3 - это то, что будет показано в TextBox.

Например, если ваши классы выглядели так, а контекст данных для TextBox был экземпляром Foo,Вы увидите сообщение «Hello World»:

public class Foo
{
   public Foo1 Property1 { get; set; }
}

public class Foo1
{
   public Foo2 Property2 { get; set; }
}

public class Foo2
{
   public string Property3 { get { return "Hello World"; } }
}

Синтаксис . позволяет просто ссылаться на «свойства объекта».Для получения дополнительной информации ознакомьтесь с этой статьей MSDN .

0 голосов
/ 03 июня 2011

Нет разницы между первым и вторым TextBlock в вашем вопросе.

Path - это свойство 'default' объекта Binding, которое устанавливается.

...