在WPF中添加两个绑定
我最近一直在玩wpf,我想使用两个绑定路径值sum作为第三个控件的绑定。我尝试使用值转换器,但没有成功。如果有人能指引我走上正确的道路,我将不胜感激 以下是我到目前为止的情况: 我有两个编码器,比如在WPF中添加两个绑定,wpf,xaml,binding,ivalueconverter,Wpf,Xaml,Binding,Ivalueconverter,我最近一直在玩wpf,我想使用两个绑定路径值sum作为第三个控件的绑定。我尝试使用值转换器,但没有成功。如果有人能指引我走上正确的道路,我将不胜感激 以下是我到目前为止的情况: 我有两个编码器,比如 <my3:NVAngle Canvas.Left="400" Canvas.Top="610" BindableValueExtended="120" BindableValueRetracted="0" AnimationDuration="2" x:Name="nvAArm3Rotat
<my3:NVAngle Canvas.Left="400" Canvas.Top="610" BindableValueExtended="120" BindableValueRetracted="0" AnimationDuration="2" x:Name="nvAArm3Rotate" BindableValue="0" InvertExtendedTag="False" InvertRetractedTag="False" />
<my3:NVAngle Canvas.Left="400" Canvas.Top="610" BindableValueExtended="50" BindableValueRetracted="0" AnimationDuration="2" x:Name="nvAArm2Rotate" BindableValue="0" InvertExtendedTag="False" InvertRetractedTag="False" />
我想旋转一个图像,角度是上面两个角度编码器的总和。比如:
<Image Canvas.Left="100" Canvas.Top="200" Source="/Images/ExtraInter.png" Stretch="Fill" Width="117" Height="15" RenderTransformOrigin="0.95, 0.5">
<Image.RenderTransform>
<RotateTransform>
<RotateTransform.Angle>
<MultiBinding Converter="{StaticResource BundleArm3Full}">
<Binding ElementName="nvABundleArm2Rotate" Path="BindableValue" />
<Binding ElementName="nvABundleArm3Rotate" Path="BindableValue" />
</MultiBinding>
</RotateTransform.Angle>
</RotateTransform>
<!--120-->
</Image.RenderTransform>
</Image>
我的转换器是:
public class MultipleBindingAddConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
var doubleValues = values.Cast<double>().ToArray();
var resultSum = doubleValues.Sum().ToString();
return resultSum;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
公共类MultipleBindingAddConverter:IMultiValueConverter
{
公共对象转换(对象[]值,类型targetType,对象参数,CultureInfo区域性)
{
var doubleValues=values.Cast().ToArray();
var resultSum=doubleValues.Sum().ToString();
返回结果;
}
公共对象[]转换回(对象值,类型[]目标类型,对象参数,CultureInfo区域性)
{
抛出新的NotImplementedException();
}
}
我仍然看不到图像的旋转,尽管我可以保证BindableValue正在更改。非常感谢您的帮助
谢谢 您可以将多重绑定与执行求和的转换器一起使用
<MultiBinding Converter="{StaticResource sumConverter}" >
<Binding Path="FirstValue"/>
<Binding Path="SecondValue"/>
</MultiBinding>
发布相关代码和XAML。在不知道您正在处理的实际代码/XAML的情况下,您怎么能期望任何人帮助您呢?请参阅编辑。谢谢我的转换器出了问题,返回的是字符串而不是双精度。现在效果很好,谢谢!