Почему необходимость связывания в этом контексте - PullRequest
3 голосов
/ 03 сентября 2010

Я запускаю WPF, глядя на Как сделать o: Начало работы с Entity Framework

Я немного растерялся, почему потребность в

<ListBox Name="ListBox1" ItemsSource="{Binding Source={StaticResource CustomerSource}}" >

почему нея делаю

<ListBox Name="ListBox1" ItemsSource="{StaticResource CustomerSource}" >

как узнать, когда мне нужно Binding.потому что с первого взгляда, так же, как я использую статический ресурс в стилях

<Button Style="{StaticResource someStyle}"

почему бы не

<Button Style="{Binding Source={StaticResource someStyle}}"

Ответы [ 2 ]

2 голосов
/ 03 сентября 2010

В этом примере присваивает значение, полученное из ресурсов, используя указанный ключ, для свойства Text:

<TextBox Text="{StaticResource SomeText}" />

В этих примерах связывает свойство Text ссвойство объекта, полученного из ресурсов с использованием указанного ключа:

<TextBox Text="{Binding Source={StaticResource SomeObject}, Path=SomeProperty}" />

* Класс привязки используется для привязки данных , которая является способом получения данных на поверхностииз источника данных в графическом интерфейсе, что позволяет пользователям взаимодействовать с ним.Без привязки данных значения просто присваиваются элементам управления в пользовательском интерфейсе.

Привязки добавляют уровень абстракции между элементами управления пользовательского интерфейса и базовым источником данных, связанным с ним, обеспечивая отказов служб.Вот некоторые из наиболее важных:

  • Автоматическое распространение изменений данных между пользовательским интерфейсом и источником данных в одном или обоих направлениях
  • Преобразование / форматирование значений
  • Уведомление через события

Связанные ресурсы:

0 голосов
/ 03 сентября 2010

Вместо этого вы также можете установить DataContext на родительский элемент управления. Если ListBox содержится, например, в StackPanel.

<StackPanel x:Name="parentControl" DatContext="{StaticResource CustomerSource}">
<ListBox x:Name="ListBox1" ItemSource="{Binding}">
...
</ListBox>
</StackPanel>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...