Wednesday, 12 January 2011

Converter Parameter with bound variable

You will run into a situation where you need to convert a value based on another value in the object. As you would know by now, you can not use {Binding variable} in convert parameter. If you do, even though you will not any compilation error, you will get run time error. So how do we do that. You can pass static variable in the convert parameter.

So a simple work around for this problem would be to bind as following in your XAML.

 <c1:Column Header="Amount" Binding="{Binding Converter={StaticResource myConverter}, ConverterParameter=Amount}" GroupAggregate="Sum" Width="100"/>

In the above XAML instead of binding it to a object variable, I bound it to the row and then call my converter passing the string name of the column I am interested in.

   1:   public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
   2:   {
   3:          Person p = value as Person;
   4:          if (p.Amount < 0 && p.Name.Equals("Kiran"))
   5:             return p.Amount + p.Amount * p.Bonus;
   6:          else
   7:             return p.Amount;
   8:          return value;
   9:   }

In the above code as you can see, first thing I do, is to unbox the object to the class and in here it is ‘Person’ class. Once you do that, from there you have access to all the properties in the class for you in the Convert method.  In the above code, as you can see, if the name is “Kiran” then my salary would salary + bonus other wise just salary.

Tuesday, 11 January 2011

How To Increase Internet Speed ?

By default system reserves 20% of bandwidth of your internet connection


If you don't wanna be system reserve your speed then do the following

Go to run and type gpedit.msc


In local computer policy go to

Administrative templates\network\QoS packet scheduler



In the right pane you will see the option limit reservable bandwidth

by default it sets to not configured

double click on it and click enable set 20% to 0

All done

See the difference Enjoy...