using System; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes;
|
namespace Ecrion.Silverlight.Sample.Plugin { /// <summary> /// this class customize object data or build custom visual elements /// </summary> public class Factory : IVisualObjectFactory { public Factory() { }
/// <summary> /// create a visual element from an ObjectData /// </summary> /// <param name="objectData">keeps data for a visual element</param> /// <returns> /// return null because we don't want to create a custom visual element /// </returns> public DependencyObject GetVisualElement(ObjectData objectData) { return null; }
/// <summary> /// customize an object data if this is a TextData /// </summary> /// <param name="objectData">reference to a ObjectData</param> /// <returns> /// true because we want to let other plugins to make their own cusomization /// </returns> public Boolean CustomizeObjectData(ObjectData objectData) { if (objectData.getObjectType == typeof(TextData)) { if (((TextData)objectData).Parent.getObjectType == typeof(TableCellData)) { this.ItalicTextInCell((TextData)objectData); } }
return true; }
/// <summary> /// change FontStyle property of a TextData /// this is a protected function of this plugins /// </summary> /// <param name="objectData">TextData object</param> protected internal void ItalicTextInCell(TextData objectData) { ((TextData)objectData).FontStyle = FontStyles.Italic; } } } |