Hata türünde bir koleksiyona türü 'çoklu-bağlama' örneğini eklenemiyor: yazdığım bir IMultiValueConverter kullanmaya çalışıyorum, ancak IntelliSense bana türündeki 'MultiBinding' örneği eklenemiyor Bu hatayı " veriyor 'DoubleCollection' türünde bir koleksiyona. Sadece 'double' türündeki öğelere izin verilir.'DoubleCollection'
S: Bu hatanın ne anlama geldiğini anlamıyorum. Diğer yollardaki StrokeDashArray özelliklerini değiştirmek için başka dönüştürücüler kullandım; Ancak, bir çoklu bağlantıyı nasıl kullanacağımı bilmiyorum. Birisi neden bu hatayı alıyorum ve bu hatayı nasıl kaldırdığımı açıklayabilir mi?
Ayrıntılar: Dönüştürücü "DashedWhenValue1ArrayEqualsValue2ArrayConverter" olarak adlandırıldı ve yukarıda bir StaticResource olarak tanımladım. İşte
. . .
public DoubleCollection DoubleCollectionWhenEqual { get; set; }
public DoubleCollection DoubleCollectionWhenNotEqual { get; set; }
public DoubleCollection DoubleCollectionWhenValueIsNull { get; set; }
. . .
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
if (values == null || values.Length < 2)
{
return this.DoubleCollectionWhenValueIsNull;
}
if (!(values[0] is Array) || !(values[1] is Array))
{
return this.DoubleCollectionWhenNotEqual;
}
object[] array1 = values[0] as object[];
object[] array2 = values[1] as object[];
if (array1.Length != array2.Length)
{
return this.DoubleCollectionWhenNotEqual;
}
for (int i = 0; i < array1.Length; i++)
{
if (array1[i] != array2[i])
{
return this.DoubleCollectionWhenNotEqual;
}
}
return this.DoubleCollectionWhenEqual;
}
. . .
ben Visual Studio 2015 içinde hata çoğaltmak mümkün burada görünümü
<Path x:Name="some_Path" Data="M7,4.167 L7,162.08887" HorizontalAlignment="Right" Margin="0,0,-391.5,-871" StrokeStartLineCap="Square" StrokeEndLineCap="Square" Stroke="#FF33CC33" StrokeThickness="10" Width="10.5" RenderTransformOrigin="0,0" Height="167.167" VerticalAlignment="Bottom" >
<Path.StrokeDashArray>
<MultiBinding Converter="{StaticResource DashedWhenValue1ArrayEqualsValue2ArrayConverter}"> <!-- Error starts here -->
<Binding Path="ModelViewProperty1" />
<Binding Path="ModelViewProperty2" />
</MultiBinding> <!-- Error ends here -->
</Path.StrokeDashArray>
</Path>
sadece bir intellisense sorun değil mi ilan edilir veya uygulamanızı çalıştırdığınızda aslında başarısız oluyor satır: Sadece eğlence için, buraya kullanarak
Convert
yöntemini yazmak için daha sözün yolu LINQ olduğunu ? Visual Studio'yu yeniden başlatırsanız ne olur? – devuxer