在Xamarin xaml文件中,我有一个ProgressBar,需要在其中计算Progress(值/最大值)。所以我写了转换器,但无法将最大值传递给转换器。
我尝试使用ConverterParameter,但它不支持绑定...
<ProgressBar Progress="{Binding Progress.Value,
Converter={StaticResource Convertor}, ConverterParameter=??}" />
我做错什么了吗?
答案 0 :(得分:0)
如果在xaml中定义的引用具有任何计算进度所需的所有值,则可以将引用直接传递到转换器中。
<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.Value
/ Progress.MaxValue
属性之前在属性更改的情况下计算ViewModel中的Progress,然后您甚至不需要转换器。