in

dotNet Umbria

Il primo User Group in Umbria sul mondo .Net

Paolo Possanzini

Controllo per la visualizzazioni di Grafici 3D in WPF. (Preparazione dell'usercontrol)

Il nostro controllo per la visualizazione di grafici 3D, dovra essere inserito dentro il ViewPort3D, quindi dovrà ereditare ModelVisual3D


[code language="c#"]

/// Autore: Paolo Possanzini
/// WebSite: http://www.teamdev.it
/// email: paolo@teamdev.it
public class WpfChart : ModelVisual3D, ISupportInitialize
{

....

}

[/code]

 

Da notare che il nostro controllo implementerà anche ISupportInitialize, questo ci permette di capire quando stato inizializzato oppure quando è in fase di inizializzazione.
A questo punto possiamo iniziare ad inserire all'interno del nostro controllo. I grafici saranno visualizzati a partire da una sorgente dati, quindi mettiamo a disposizione dello sviluppatore una proprietà per agganciare la sorgente dati al nostro controllo.

[code language="c#"]

/// Autore: Paolo Possanzini
/// WebSite: http://www.teamdev.it
/// email: paolo@teamdev.it
public class WpfChart : ModelVisual3D, ISupportInitialize
{


private static DependencyProperty ItemsSourceProperty = DependencyProperty.Register("ItemsSource", typeof(IEnumerable), typeof(WpfChart));
private static DependencyProperty ItemTemplateProperty = DependencyProperty.Register("ItemTemplate", typeof(DataTemplate), typeof(WpfChart));

public IEnumerable ItemsSource
{
  get { return base.GetValue(ItemsSourceProperty) as IEnumerable; }
  set
  {
    if (value == null)
      base.ClearValue(ItemsSourceProperty);
    else
      base.SetValue(ItemsSourceProperty, value);
    RefreshBars();
  }
}

....

}

[/code]

Ci servono anche altre proprietà che implementeremo in modo analogo, le proprietà che ci servono sono : ItemTemplate, Transform, ItemTemplateName.
ItemTemplate ed ItemTemplateName ci servono per implementare una struttura simile agli ItemTemplate presenti nelle ListView.

A questo punto siamo pronti per iniziare a preoccuparci di cosa visualizzare all'interno del nostro controllo.

Only published comments... Dec 12 2007, 12:35 AM by Paolo Possanzini
Filed under:

About Paolo Possanzini

Programmatore di vecchia data, mi sono appassionato a dotnet fin dalla prima versione. Mi interesso di programmazione, accesso ai dati, Sql Server.
Con Andrea abbiamo fondato TeamDev snc.

Scarica il mio Biglietto da visita
dotNet Umbria 2007-2008
Powered by Community Server (Commercial Edition), by Telligent Systems