unoplatform/uno · error · ArgumentException
This converter does not use any parameters. You should remov
Error message
This converter does not use any parameters. You should remove "{parameter}" passed as parameter. What it means
FromNullableBoolToVisibilityConverter.Convert rejects a non-null ConverterParameter; direction (visible-on-true vs collapsed-on-true) is configured via the VisibilityIfTrue property, not a binding parameter.
Source
Thrown at src/SamplesApp/SamplesApp.UnitTests.Shared/Controls/UITests/Views/Converters/FromNullableBoolToVisibilityConverter.cs:24
using Microsoft.UI.Xaml.Data;
using Microsoft.UI.Xaml.Media;
namespace Uno.UI.Samples.Converters
{
public class FromNullableBoolToVisibilityConverter : IValueConverter
{
public FromNullableBoolToVisibilityConverter()
{
this.VisibilityIfTrue = Converters.VisibilityIfTrue.Visible;
}
public VisibilityIfTrue VisibilityIfTrue { get; set; }
public object Convert(object value, Type targetType, object parameter, string language)
{
if (parameter != null)
{
throw new ArgumentException($"This converter does not use any parameters. You should remove \"{parameter}\" passed as parameter.");
}
bool inverse = this.VisibilityIfTrue == VisibilityIfTrue.Collapsed;
Visibility visibilityOnTrue = (!inverse) ? Visibility.Visible : Visibility.Collapsed;
Visibility visibilityOnFalse = (!inverse) ? Visibility.Collapsed : Visibility.Visible;
if (value != null && !(value is bool))
{
throw new ArgumentException($"Value must either be null or of type bool. Got {value} ({value.GetType().FullName})");
}
var valueToConvert = value != null && System.Convert.ToBoolean(value, CultureInfo.InvariantCulture);
return valueToConvert ? visibilityOnTrue : visibilityOnFalse;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)View on GitHub (pinned to 0418340488)
Solutions
- Remove ConverterParameter; set VisibilityIfTrue on the converter resource to choose direction.
- Audit all usages of the converter's resource key.
Example fix
<!-- before -->
<conv:FromNullableBoolToVisibilityConverter x:Key="Vis"/>
<Binding Path="Flag" Converter="{StaticResource Vis}" ConverterParameter="invert"/>
<!-- after -->
<conv:FromNullableBoolToVisibilityConverter x:Key="VisInvert" VisibilityIfTrue="Collapsed"/>
<Binding Path="Flag" Converter="{StaticResource VisInvert}"/> Defensive patterns
Strategy: validation
Validate before calling
<!-- Configure direction via VisibilityIfTrue property, never ConverterParameter -->
Prevention
- Use the VisibilityIfTrue property for direction; never a ConverterParameter.
- Use distinct resource instances for normal vs inverted visibility.
When it happens
Trigger: Supplying ConverterParameter while also (or instead of) setting VisibilityIfTrue on the resource; the parameter guard throws first.
Common situations: Migrating from an older visibility converter that used ConverterParameter to choose direction; leftover parameter after switching to the property-based approach.
Related errors
- Value must either be null or of type bool. Got {value} ({val
- This converter does not use any parameters. You should remov
- Value must either be null or of type bool. Got {value} ({val
- This converter does not use any parameters. You should remov
- Value must either be null or of type bool. Got {value} ({val
AI-assisted analysis of unoplatform/uno@0418340488 (2026-08-13).
Data as JSON: /api/errors/00620ea5fc171b52.
Report an issue: GitHub.