我正在将SeriesCollection用于我的图表系列。
我想做的是在用户选中/取消选中序列列表时切换可见性。
在XAML中,ItemsControl代码是这样的。
<ItemsControl ItemsSource="{Binding Path=SeriesItemList}"
ItemTemplate="{StaticResource toggleChartItemTemplate}"
>
在项目模板上,复选框IsChecked事件就是这样绑定的。
<CheckBox IsChecked="{Binding Path=IsChecked}" >
</CheckBox>
当调用IsChecked时,它被写为类文件
public bool IsChecked
{
get { return _IsChecked; }
set
{
_IsChecked = value;
Console.Write("");
mainViewModel.ToggleSeries(SeriesName, value);
RaisePropertyChanged("IsChecked");
}
}
最后,ToggleSeries函数称为
public void ToggleSeries(string SeriesName, bool value)
{
for (int idx = 0; idx < MainChartSeries.Count; idx++)
{
if (MainChartSeries[idx].Title == SeriesName)
{
//We will set visibility of the series here.
}
}
Console.Write("");
}
代码正常工作。因此,我认为没有探索。 如果可以查明如何设置各个系列的可见性 的SeriesCollection。
我可以访问的是IsSeriesVisible属性。它没有设置方法。
如何设置可见性?我应该将SeriesCollection更改为其他内容吗?
谢谢。
答案 0 :(得分:1)
遇到了同样的问题并找到了解决方案。
您可以将 SeriesCollection [idx] 转换为您正在使用的Series 像这样:
LineSeries seriesToHide = (MainChartSeries[idx] as LineSeries);
seriesToHide.Visibility = Visibility.Collapsed;
在那里,您将拥有一个带有setter的Visibility属性,甚至还有更多其他有用的属性。