Сергей Пугачёв Microsoft Silverlight 5, XAML и связывание данных
Сделали то, что просили…
XAML и связывание данных ImplicitDataTemplates RelativeSource Ancestor Bindings Binding In Style Setters Markup Extensions Databinding Debugging DataContextChanged Event (Post Beta) UpdateSourceTrigger (Post Beta)
Implicit Data Templates
Шаблоны основаны на типе Учитывается иерархия наследования
Relative Source
Markup Extensions
public class MethodInvokeExtension : IMarkupExtension { // Properties Exposed in XAML as Intellisense Love public String Method { get; set; } // Invoked by the XAML runtime public object ProvideValue(IServiceProvider serviceProvider) { ...
Binding Style Setters
Создайте класс для представления значений Создайте экземпляр класса в ресурсах Используйте связывание данных в стилях
DataContextChanged this.DataContextChanged += View_DataContextChanged; … void View_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e) { INotifyPropertyChanged customer; customer = e.OldValue as INotifyPropertyChanged; if (customer != null) customer.PropertyChanged -= customer_PropertyChanged; customer = e.NewValue as INotifyPropertyChanged; if (customer != null) customer.PropertyChanged += customer_PropertyChanged; }
UpdateSourceTrigger
XAML и связывание данных ImplicitDataTemplates RelativeSource Ancestor Bindings Binding In Style Setters Markup Extensions Databinding Debugging DataContextChanged Event (Post Beta) UpdateSourceTrigger (Post Beta)
Сергей Пугачёв Microsoft Silverlight 5, XAML и DataBinding