我有一個Silverlight4圖表與一列系列。而不是顯示「系列1」的圖例,我反而希望圖例每列包含一個條目。具體來說,我希望圖例顯示列的從屬值。餅圖完全是這樣,而且正是我想要的。我曾嘗試手動設置圖例的Items屬性,但該屬性是隻讀的。我猜想編寫自己的LegendStyle是完成這個任務的最好方法,但是我對XAML相對來說比較新,所以如果有任何風格的專家能夠輕鬆做到這一點,我會永遠感激不盡。Silverlight圖例:模擬Pie系列與列系列
1
A
回答
1
可能有效的一個訣竅:通過LegendStyle使您當前的圖例不可見,並自己手動構建圖例。
您可以通過將可觀察集合與列名綁定並將其綁定到與您所需外觀匹配的控件(即列表視圖)來完成此操作。
2
好的,這是我如何解決這個問題。首先,這裏是我的簡單的類:
public class Student
{
public string Name { get; set; }
public int Age { get; set; }
public Brush FavoriteColor { get; set; }
}
接下來,顏色列從大衛Anson的博客這裏走來風格: http://blogs.msdn.com/b/delay/archive/2009/02/04/columns-of-a-different-color-customizing-the-appearance-of-silverlight-charts-with-re-templating-and-mvvm.aspx
使用大衛的餡餅系列傳奇的代碼作爲一個例子,我最終取得了這種風格對於聯想本身:
<Style x:Key="ColorByPreferenceLegend" TargetType="toolkit:Legend">
<Setter Property="Margin" Value="15,25" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="BorderBrush" Value="#FFDBDBDB" />
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush EndPoint="0.442,0.005" StartPoint="0.558,0.995">
<GradientStop Color="#FFDBDBDB" />
<GradientStop Color="#FFFFFFFF" Offset="1" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Rectangle
Width="8" Height="8"
Fill="{Binding FavoriteColor}"
Stroke="{Binding FavoriteColor}"
StrokeThickness="1" Margin="3"/>
<TextBlock Margin="3" Text="{Binding Name}"/>
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
而這裏的圖表標記:
<toolkit:Chart x:Name="chart" LegendStyle="{StaticResource ColorByPreferenceLegend}">
<toolkit:ColumnSeries IndependentValueBinding="{Binding Name}"
DependentValueBinding="{Binding Age}"
DataPointStyle="{StaticResource ColorByPreferenceColumn}" />
</toolkit:Chart>
最後,這裏是如何獲取覆蓋圖例項目,其中_students是學生對象列表:
ColumnSeries cs = chart.Series[0] as ColumnSeries;
cs.ItemsSource = _students;
cs.LegendItems.Clear();
foreach (Student s in _students)
cs.LegendItems.Add(s);
相關問題
- 1. DS系列,DSv2系列,FS系列虛擬機
- 2. Highcharts Pie,系列片第一項
- 3. 模擬一系列日期的查詢
- 4. Highcharts jQuery.parseJSON與系列
- 5. 刪除系列的例外
- 6. 熊貓繪圖與系列兩列在第三列值定義
- 7. 與模擬固定AR(1)系列不同的SD
- 8. 模擬散點與X的已知關係陣列
- 9. 線圖表系列鑽取到另一個線型圖系列
- 10. 劍道圖表欄系列結合線型系列圖表還原爲列類型系列
- 11. 系列
- 12. 基於m2m關係獲取模型實例與對象列表
- 13. OpenCV的系列化與嵌套序列
- 14. 可以按字母順序排列Oxyplot圖例中的系列?
- 15. Matplotlib行時間系列與散點圖
- 16. HighChartsDate選取器與系列圖
- 17. d3.js多系列圖與JSON
- 18. 幾何系列模運算
- 19. AchartEngine線條系列和點系列
- 20. Newtonsoft系列化VS ASP.NET系列化
- 21. 多個系列與另一個系列的條件乘法
- 22. Hazelcast 3.5系列化與DataSerializable
- 23. 模擬與線列車
- 24. 條形圖系列顯示系列之間的差距
- 25. 有約束力的問題堆棧柱系列圖到系列
- 26. 帶多個系列的DVC系列圖表
- 27. jquery jqplot jqplot.highlighter在multy系列圖表中顯示系列名稱
- 28. 無法將系列鏈接到圖表系列定義在BIRT
- 29. Ipython - 從系列表旁邊繪製系列表的餅圖
- 30. 動態創建Asp系列圖表多系列