How to pass a parameter to a constructor using ObjectDataProvider ?
ObjectDataProvider provides the ability to pass the parameters to the constructors using the ‘ConstructorParameters’ property. The following code snippet demonstrates how to pass parameters to a constructor. [XAML] <ObjectDataProvider ObjectType='{x:Type local:odpsource}’ x:Key=’obj1?> <ObjectDataProvider.ConstructorParameters> <system:Double>2000</system:Double> </ObjectDataProvider.ConstructorParameters> </ObjectDataProvider>
In what way is an ObjectDataProvider useful?
ObjectDataProvider is a class that wraps your source object to provide some extra functionality. The following are the distinguishing capabilities of ObjectDataProvider. Passing parameters to the constructor. Binding to a method (with or without parameters). Replacing the source object. Creating the source object asynchronously.
When an XMLDataProvider can be used ? What are it’s specific uses ?
An XMLDataProvider can be used when your datasource is an XML file. The following are some of the uses of XMLDataProvider. XML can be pre-filtered using the XPath query of the XMLDataProvider. It automatically reads the XML using a background thread without blocking the UI. Data can be shared among the several controls. If your XML uses Namespaces, then it is the convenient place to assign the XMLNamespaceManager.
How to edit templates using Microsoft Expression Blend ?
To edit ControlTemplates using Blend do the following steps. 1. Locate the control in the visual tree. 2. Right-click on it and then select, Edit Control Parts (Template) -> Edit a Template / Edit a Copy. Blend would prompt for creating the template if it’s not already created.
How do I build an ItemsControl ControlTemplate ?
The important key point when building an ItemsControl or any of it’s derived classes (listbox, combobox, listview etc.), is to make sure to include an ‘ItemsPresenter’ object somewhere in the ControlTemplate. It’s the place holder for the panel to display the ItemsControl items. An alternative is to include a panel into the ControlTemplate with the property ‘IsItemsHost’ set to ’true’.