J'utilise la commande Silverlight WriteableBitmap pour afficher un 'camembert' en utilisant le code suivant.Bitmap inscriptible Silverlight
Chart GetChart()
{
Chart newChart = new Chart() { Width = 100.0,
Height = 100.0 };
PieSeries pieSeries = new PieSeries();
pieSeries.SetBinding(PieSeries.ItemsSourceProperty, new Binding());
pieSeries.DependentValueBinding = new Binding("Value");
pieSeries.IndependentValueBinding = new Binding("Key");
pieSeries.AnimationSequence = AnimationSequence.FirstToLast;
pieSeries.IsSelectionEnabled = true;
newChart.Series.Add(pieSeries);
newChart.SetValue(Chart.DataContextProperty, new KeyValuePair<string, int>[]
{
new KeyValuePair<string, int>("Work", 9),
new KeyValuePair<string, int>("Driving", 2),
new KeyValuePair<string, int>("Family", 4),
new KeyValuePair<string, int>("Sleep", 8),
new KeyValuePair<string, int>("Friends", 1)
});
return newChart;
}
WriteableBitmap bmapPreviewCanvas = new WriteableBitmap(GetChart, null);
Le résultat auquel je m'attendais est un bitmap avec un PieChart. Ce que j'ai obtenu était un bitmap avec l'arrière-plan sans aucun PieChart. Question est: Que dois-je faire pour obtenir le camembert rendu dans la variable 'bmapPreviewCanvas'?
Editer: Cela a-t-il quelque chose à voir avec ANIMATIONSEQUENCE?
Dan, vous avez raison à nouveau. Je vois le bitmap étant généré si je l'ajoute à un canevas ou à l'arbre visuel. Je vous remercie. Je prends cette question un peu plus loin. J'utilise l'Image rendue dans un ImageBrush et essaye de remplir le rectangle avec ça. Une idée pour laquelle le rectangle n'affichera pas l'image? – kanchirk
Je n'ai aucune idée sans voir plus de code, mais j'ai trouvé un message sur un bug possible WritableBitmap/ImageBrush: http://forums.silverlight.net/forums/p/110869/261935.aspx –
Dan, Merci pour le Lien. J'ai également rencontré le même lien à peu près au même moment que vous avez posté. On dirait que c'est un problème connu dans SL3. Merci pour l'aide. – kanchirk