wpf - Can't understand Error in XAML Converter -
i use converter "convert" width. want make 10% of "parent" width. use parameter value "0.1" (10%). in converter value converted "1.0". dont know why (see picture below).
percentageconverter.cs
using system; using system.windows.data; namespace erdbuilder.shell.converter { public class percentageconverter : ivalueconverter { public object convert(object value, type targettype, object parameter, system.globalization.cultureinfo culture) { double dblvalue = system.convert.todouble(value); double dblparameter = system.convert.todouble(parameter); double val = dblvalue*dblparameter; return val; } public object convertback(object value, type targettype, object parameter, system.globalization.cultureinfo culture) { throw new notimplementedexception(); } } }
corestyles.xaml
... xmlns:converter="clr-namespace:erdbuilder.shell.converter" ... <converter:percentageconverter x:key="percentageconverter" /> ... <border x:name="trackrectangle" height="15"> <border background="steelblue" width="{binding converter={staticresource percentageconverter},elementname=trackrectangle,path=actualwidth,converterparameter=0.1}"/> </border>
i dont understand this
fixed solution - error in interpreting correct delimiter (have replace '.' against ','):
percentageconverter.cs
double dblparameter = system.convert.todouble(((string)parameter).replace('.',','));
instead of
double dblparameter = system.convert.todouble(parameter);
Comments
Post a Comment