图表上的绑定:FastLineBitmapSeries(SyncFusion包的一部分)不起作用。
怎么做?我有另一个属性使用了BoolToVisibility转换器,为什么这个不行呢?
下面是我的代码:
- Xaml**
<chart:FastLineBitmapSeries DataContext="{Binding AllSeries[VT8PvPower]}" Interior="#7f84e8" VisibilityOnLegend="{Binding AllSeriesVisibility[VT10PvPower], Converter={StaticResource BoolToVisibility}, Mode=TwoWay}" />
DataContext工作正常,但VisibilityOnLegend不正常
- 查看模型**
所有系列可见性属性:(与所有系列相同)
public ObservableDictionary<string, bool> AllSeriesVisibility { get; set; } = new ObservableDictionary<string, bool>();
属性的内容:
所有系列可见性-键
数值:
- 这些值并不总是像pic中那样为真
- 转换器**
public class VisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (!(value is bool bValue))
return Visibility.Hidden;
return bValue ? Visibility.Visible : Visibility.Collapsed;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
更改绑定模式/更改公共属性,我尝试放置公共布尔值而不是ObservableDictionnary,但仍然不起作用
1条答案
按热度按时间gkl3eglg1#
我们已经分析了您的代码段,我们怀疑包含AllSeries和AllSeriesVisibility属性的类是相同的。
将BindingContext指定为AllSeries Key对象时,序列的其余绑定属性应位于AllSeries值对象中,而不是AllSeries父类中。
基于您的代码片段,我们创建了一个简单的示例,当给出如下所示的正确类结构时,它可以正常工作。此外,VisibilityonLegend将完美地工作。
请检查此信息,如果您需要任何进一步的帮助,请告诉我们。
此致,穆尼什·库马尔·G