Sure you can add/remove layer from your Map layers in code-behind, that will work too with minimal effort.
If you will change visibility using CheckBox. You will have something like this:
Visibility="{Binding IsChecked, ElementName=checkBox, Converter={StaticResource BooleanToVisibilityConverter}}"
public class BooleanToVisibilityConverter : IValueConverter {
public Object Convert(Object value, Type targetType, Object parameter, CultureInfo culture) {
if (targetType == typeof(Visibility) && value !=null) {
var visible = System.Convert.ToBoolean(value, culture);
return visible ? Visibility.Visible : Visibility.Collapsed;
}
throw new InvalidOperationException("Converter can only convert to value of type Visibility.");
}
public Object ConvertBack(Object value, Type targetType, Object parameter, CultureInfo culture) {
throw new InvalidOperationException("Converter cannot convert back.");
}
}
Jennifer