#silverlight
#silverlight
Вопрос:
Есть ли способ привязать элемент управления Silverlight к объекту (или строке таблицы базы данных), который содержит значения нескольких свойств элемента управления, без определения привязки для каждого свойства?
Допустим, у меня есть класс (или сущность, основанная на строке таблицы базы данных) со следующими значениями:
class TextBlockValues
{
public string Text{get; set;}
public string HorizontalAlignment{get; set;}
public string VerticalAlignment{get; set;}
}
Я хочу привязать его к текстовому блоку в моем приложении silverlight (опять же без явного указания привязки для каждого свойства).
Спасибо, что уделили мне время.
Комментарии:
1. Хотите ли вы чего-то большего в духе автоматической привязки каждого свойства в TextBlockValues к любому совместимому элементу с помощью одной строки кода?
2. ДА. Хотя я могу писать код для этого, я хочу знать, есть ли в silverlight готовые функциональные возможности.
Ответ №1:
Привязка состоит из двух частей: DataContext и самих объектов привязки. Как только вы настроите контекст данных для элемента, все свойства и дочерние элементы будут автоматически использовать его.
Например:
<TextBlock Name="CaptionText" Text="{Binding Text}" HorizontalAlignment="{Binding HorizontalAlignment}" Height="20" TextAlignment="Center" FontStretch="Expanded" FontSize="13" />
И в файле .cs:
CaptionText.DataContext = myObject;
Ответ №2:
Если я правильно понял ваш вопрос, ответ — нет. Даже если вы можете задать DataContext элемента управления, вам все равно придется привязать, какое свойство элемента управления привязывается к тому, что в классе.