The foreground XAML is as follows:
<Grid. Resources> <xx:accountstatustovisibility x:key= "accountstatustovisibility" / > </grid.resources> <Telerik:radbutton Visibility= "{Binding Status, Mode=oneway, Converter={staticresource accountstatustovisibility}, converterparameter=disabled} "
Margin= "0 0 5 0"Click= "Radbutton_click"
Command= "{Binding path=datacontext.cmddisabled, Relativesource={relativesource ancestortype={x:type Telerik: RadGridView} }} " >Set Enable</Telerik:radbutton>
Background, template switch class:
Public classAccountstatustovisibility:ivalueconverter {#region"IValueConverter Members" Public ObjectConvert (ObjectValue, Type TargetType,Objectparameter, System.Globalization.CultureInfo culture) { if(Value = =NULL) { return false; } if(Parameter! =NULL) { Switch(parameter. ToString ()) { Case "Enabled": return((int) Value = =0) ?Visibility.Collapsed:Visibility.Visible; Case "Disabled": return((int) Value = =1) ?Visibility.Collapsed:Visibility.Visible; //Case "Invaild"://return ((int) value = = 2)? Visibility.Collapsed:Visibility.Visible; } } return false; } Public ObjectConvertback (ObjectValue, Type TargetType,Objectparameter, System.Globalization.CultureInfo culture) { Throw Newnotimplementedexception (); } #endregion }
WPF's use of the Visibility property for item template switching