Привязка ко второму изображению в базе данных - PullRequest
1 голос
/ 26 октября 2011

У меня есть база данных с несколькими свойствами (домами), и у каждого свойства может быть несколько изображений, которые можно использовать вместе с ней. У меня есть список, в котором хранятся свойства, и когда я выбираю любое свойство, он заполняет текстовые поля информацией о свойствах. Я могу заполнить элемент управления изображением со свойствами изображения, но только если существует одно изображение.

Другими словами, я вижу изображение отлично, оно отлично связывается и правильно хранится. Но когда у меня есть более одного изображения, я не могу понять, как связать его с другим изображением. Например, я хочу иметь 3 изображения и иметь возможность установить каждое изображение в отдельную картинку в базе данных. я думал, что-то вроде этого будет работать, чтобы показать второе изображение, но это не так ...

<Image DataContext={Binding Images} Source={Binding [2].ImageData} /> 

У меня вопрос: как связать определенный элемент в базе данных, которая содержит несколько элементов. Я хочу привязать к определенному изображению (я знаю, что оно будет существовать, поэтому не беспокойтесь о проверке и т. Д.).

1 Ответ

1 голос
/ 26 октября 2011

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

Предполагая, что класс House предоставляет изображения как List<Image>, вы можете привязать к определенному элементу, используя индексатор свойств Binding Path:

   <Image Source="{Binding Path=Images[0]}" ToolTip="First Image" />
   <Image Source="{Binding Path=Images[1]}" ToolTip="Second Image" />

Свойство MSDN Binding.Path :

Используйте свойство Path, чтобы указать исходное значение, с которым вы хотите связать:

  • Индексаторы свойства можно указывать в квадратных скобках после имени свойства, к которому применяется индексатор. За Например, предложение Path = ShoppingCart [0] устанавливает привязку к индекс, который соответствует внутренней индексации вашего имущества обрабатывает литеральную строку "0". Несколько индексаторов также поддерживаются.

  • Индексаторы и подвойства можно смешивать в предложении Path; например, Path = ShoppingCart.ShippingInfo [MailingAddress, Street].

  • Внутри индексаторов вы можете иметь несколько параметров индексатора, разделенных запятыми (,). Тип каждого параметра может быть указан с скобки. Например, вы можете иметь Path = "[(sys: Int32) 42, (sys: Int32) 24]", где sys отображается на Системное пространство имен.

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