IValueConverter - Передача объекта в виде ConverterParameter - PullRequest
0 голосов
/ 17 октября 2018

В моем файле Xamarin xaml есть ProgressBar, где мне нужно вычислить Progress (Value / Maximum).Итак, я написал свой конвертор, но я не могу передать максимум конвертеру.

Я пытался использовать ConverterParameter, но он не поддерживает привязки ...

<ProgressBar Progress="{Binding Progress.Value, 
    Converter={StaticResource Convertor}, ConverterParameter=??}" />

AmЯ что-то не так делаю или есть обходной путь?

1 Ответ

0 голосов
/ 17 октября 2018

Вы можете передать ссылку непосредственно в конвертер, если она определена в xaml любого класса / ViewModel, который имеет все значения, необходимые для вычисления прогресса.

<ProgressBar x:Name="_progressBar" Progress="{Binding Progress.Value,
    Converter={StaticResource Convertor}, ConverterParameter={x:Reference _progressBar}}" />

или вы можете просто передать значениенепосредственно в xaml или в виде статического значения, определенного в статическом классе в другом месте вашего приложения, что, конечно, если вы знаете, какое значение будет опережать время.

, ConverterParameter=100}" or
, ConverterParameter={x:Static local:DefaultValues.MaxValue}}"

Однако, похоже, что вы можете рассчитать Progress в свойстве ViewModel по измененному свойству до установки свойства Progress.Value / Progress.MaxValue, и тогда вам даже не понадобится конвертер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...