Hallo zusammen,
ich bin ziemlich neu bei C# und versuche mir grade eine Datenbindung zwischen Slider und
Textbox zu bauen.
Beim Slider habe ich einen Converter angehängt der einen Fehler zurückgibt, den ich nicht nachvollziehen kann:
slider XAML:
<Slider Name="slideMaxX" Minimum="1" Maximum="50" Value="{Binding ElementName=txtMaxX, Path=Text, Mode=TwoWay, Converter={StaticResource RoundingConverter}}" SmallChange="1">
Der RoundingConverter:
using System;
using System.Windows.Data;
namespace gol
{
public class RoundingConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value != null)
{
double dblValue;
dblValue =(double)value; //Fehler: Kann nicht konvertieren
//dblValue = Convert.ToDouble(value);//Fehler:Convert ist Methode...Kontext n. gültig
return (int)dblValue;
}
return 0;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
}
Der Versuch mit "dblValue=(double)value" zu konvertieren bringt einen Typumwandlungsfehler (bei value="10")
Mit "dblValue = Convert.ToDouble(value)" bekomme ich die Meldung, das Convert unbekannt ist.
bin für jeden Tip dankbar.
Gruß
Hallo SenseLi,
du kannst entweder den FullQualifiedName der Convert Klasse probieren: System.Convert.ToDouble()
oder du prüfst bevor du konvertierst um welchen QuellTyp es sich handelt und reagierst darauf entsprechend:
in deinem Fall kommt vermutlich ein String "10" den du mit double.Parse() umwandeln könntest.
Lg, XXX
Hallo,
der FullQualifiedName hat es gelöst: System.Convert.ToDouble()
Verstehe ich aber nicht, ich habe doch "Using.System" angegeben.
Verwirrt...
Danke
Hi,
deine Methode heist auch Convert, deshalb kann der Compiler das nicht durch das using auflösen. Er denkt du meinst deine eigene Methode.