{"record":{"id":"00620ea5fc171b52","repo":"unoplatform/uno","slug":"this-converter-does-not-use-any-parameters-you-sh-00620e","errorCode":null,"errorMessage":"This converter does not use any parameters. You should remove \"{parameter}\" passed as parameter.","messagePattern":"This converter does not use any parameters\\. You should remove \"(.+?)\" passed as parameter\\.","errorType":"validation","errorClass":"ArgumentException","httpStatus":null,"severity":"error","filePath":"src/SamplesApp/SamplesApp.UnitTests.Shared/Controls/UITests/Views/Converters/FromNullableBoolToVisibilityConverter.cs","lineNumber":24,"sourceCode":"using Microsoft.UI.Xaml.Data;\nusing Microsoft.UI.Xaml.Media;\n\nnamespace Uno.UI.Samples.Converters\n{\n\tpublic class FromNullableBoolToVisibilityConverter : IValueConverter\n\t{\n\t\tpublic FromNullableBoolToVisibilityConverter()\n\t\t{\n\t\t\tthis.VisibilityIfTrue = Converters.VisibilityIfTrue.Visible;\n\t\t}\n\n\t\tpublic VisibilityIfTrue VisibilityIfTrue { get; set; }\n\n\t\tpublic object Convert(object value, Type targetType, object parameter, string language)\n\t\t{\n\t\t\tif (parameter != null)\n\t\t\t{\n\t\t\t\tthrow new ArgumentException($\"This converter does not use any parameters. You should remove \\\"{parameter}\\\" passed as parameter.\");\n\t\t\t}\n\n\t\t\tbool inverse = this.VisibilityIfTrue == VisibilityIfTrue.Collapsed;\n\n\t\t\tVisibility visibilityOnTrue = (!inverse) ? Visibility.Visible : Visibility.Collapsed;\n\t\t\tVisibility visibilityOnFalse = (!inverse) ? Visibility.Collapsed : Visibility.Visible;\n\n\t\t\tif (value != null && !(value is bool))\n\t\t\t{\n\t\t\t\tthrow new ArgumentException($\"Value must either be null or of type bool. Got {value} ({value.GetType().FullName})\");\n\t\t\t}\n\n\t\t\tvar valueToConvert = value != null && System.Convert.ToBoolean(value, CultureInfo.InvariantCulture);\n\n\t\t\treturn valueToConvert ? visibilityOnTrue : visibilityOnFalse;\n\t\t}\n\n\t\tpublic object ConvertBack(object value, Type targetType, object parameter, string language)","sourceCodeStart":6,"sourceCodeEnd":42,"githubUrl":"https://github.com/unoplatform/uno/blob/04183404888ea21b4e5bfa3493e8d5f15e972c3a/src/SamplesApp/SamplesApp.UnitTests.Shared/Controls/UITests/Views/Converters/FromNullableBoolToVisibilityConverter.cs#L6-L42","documentation":"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.","triggerScenarios":"Supplying ConverterParameter while also (or instead of) setting VisibilityIfTrue on the resource; the parameter guard throws first.","commonSituations":"Migrating from an older visibility converter that used ConverterParameter to choose direction; leftover parameter after switching to the property-based approach.","solutions":["Remove ConverterParameter; set VisibilityIfTrue on the converter resource to choose direction.","Audit all usages of the converter's resource key."],"exampleFix":"<!-- before -->\n<conv:FromNullableBoolToVisibilityConverter x:Key=\"Vis\"/>\n<Binding Path=\"Flag\" Converter=\"{StaticResource Vis}\" ConverterParameter=\"invert\"/>\n<!-- after -->\n<conv:FromNullableBoolToVisibilityConverter x:Key=\"VisInvert\" VisibilityIfTrue=\"Collapsed\"/>\n<Binding Path=\"Flag\" Converter=\"{StaticResource VisInvert}\"/>","handlingStrategy":"validation","validationCode":"<!-- Configure direction via VisibilityIfTrue property, never ConverterParameter -->","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use the VisibilityIfTrue property for direction; never a ConverterParameter.","Use distinct resource instances for normal vs inverted visibility."],"tags":["xaml","binding","converter","visibility","unit-tests","samples"],"backgroundTag":null,"analyzedSha":"04183404888ea21b4e5bfa3493e8d5f15e972c3a","analyzedAt":"2026-08-13T21:08:11.651Z","schemaVersion":2},"datasetVersion":"2026-08-14T00:17:13.853Z"}