请问有人使用visifire图表么,我有个关于Datapoint以及MultiBinding的问题

abutwang 2016-06-22 10:28:26
如果我简单绑定

<Charts:DataSeries RenderAs="Line" Color="Red" MarkerEnabled="False" ShadowEnabled="False" Bevel="False">
<Charts:DataSeries.DataPoints>
<Charts:DataPoint XValue="{Binding ManualGateABegin}" YValue="{Binding ManualGateALevel}" Enabled="{Binding IsChecked,ElementName=autoCheckBox}"/>
<Charts:DataPoint XValue="{Binding ManualGateAEnd}" YValue="{Binding ManualGateALevel ,Converter={StaticResource aosoc},ConverterParameter=true}" Enabled="{Binding IsChecked,ElementName=autoCheckBox}"/>
</Charts:DataSeries.DataPoints>
</Charts:DataSeries>

得到的结果是正确的

但是我使用MulitBinding绑定时 ,就画不出曲线了

<Charts:DataSeries RenderAs="Line" Color="Red" MarkerEnabled="False" ShadowEnabled="False" Bevel="False">
<Charts:DataSeries.DataPoints>
<Charts:DataPoint >
<Charts:DataPoint.AxisXLabel>
<MultiBinding Converter="{StaticResource gab}">
<Binding Path="IsChecked" ElementName="autoCheckBox" />
<Binding Path="D"/>
<Binding Path="S2"/>
<Binding Path="ManualGateABegin"/>
</MultiBinding>
</Charts:DataPoint.AxisXLabel>
<Charts:DataPoint.YValue>
<MultiBinding Converter="{StaticResource gl}">
<Binding Path="IsChecked" ElementName="autoCheckBox" />
<Binding Path="AutoGateALevel"/>
<Binding Path="ManualGateALevel"/>
</MultiBinding>
</Charts:DataPoint.YValue>
</Charts:DataPoint>
<Charts:DataPoint>
<Charts:DataPoint.AxisXLabel>
<MultiBinding Converter="{StaticResource gae}">
<Binding Path="IsChecked" ElementName="autoCheckBox" />
<Binding Path="D"/>
<Binding Path="S2"/>
<Binding Path="ManualGateAEnd"/>
</MultiBinding>
</Charts:DataPoint.AxisXLabel>
<Charts:DataPoint.YValue>
<MultiBinding Converter="{StaticResource gl}">
<Binding Path="IsChecked" ElementName="autoCheckBox" />
<Binding Path="AutoGateALevel"/>
<Binding Path="ManualGateALevel"/>
</MultiBinding>
</Charts:DataPoint.YValue>
</Charts:DataPoint>
</Charts:DataSeries.DataPoints>
</Charts:DataSeries>


IMultiValueConverter 应该没有问题都有返回值

public class GateABeginForLossenConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
int result = 0;
bool auto = System.Convert.ToBoolean(values[0]);

if (auto)
result = System.Convert.ToInt32(values[2]);
else
result = System.Convert.ToInt32(values[3]);

return result;
}


我不明白这是为什么,难道visifire datapoint 只能valuebinding,不能multibinding 么
...全文
238 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
abutwang 2016-06-23
  • 打赏
  • 举报
回复
我自己找的解决方案,将multibinding 绑定到label上,chart再绑定到label上

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧