如何在 UWP 的绑定中设置 ConvertParameter

Posted

技术标签:

【中文标题】如何在 UWP 的绑定中设置 ConvertParameter【英文标题】:How to set ConvertParameter in binding in UWP 【发布时间】:2021-12-26 10:50:40 【问题描述】:

我有一个场景,我必须通过转换器中的绑定来比较传递的枚举值并返回可见性,我想在绑定表达式中传递转换参数,但是在 UWP 中我们没有 x:Static,那么如何我可以这样做吗

我已经尝试过这些东西

Visibility="x:Bind   vm.ControlState, 
                        Mode=OneWay,
                        Converter=StaticResource enumToVisibilityConverter, 
                        ConverterParameter=x:Bind enums:TextControlState.Controls"

它在编译期间抛出错误,说嵌套的 x:Bind 是不允许的

Visibility="Binding   ControlState, 
            Mode=OneWay,
            Converter=StaticResource enumToVisibilityConverter, 
            ConverterParameter=x:Bind enums:TextControlState.Controls"

它在运行时抛出错误,说不能分配绑定表达式

【问题讨论】:

【参考方案1】:

但是在 UWP 中我们没有 x:Static,那我该怎么做呢

正如你上面提到的,我们不能在uwp平台上使用x:Static,但是我们可以使用StaticResource来代替。

例如

<Page.Resources>
    <local:TextControlState x:Key="ConState">Controls</local:TextControlState>
</Page.Resources>



Visibility="x:Bind  vm.ControlState, 
                    Mode=OneWay,
                    Converter=StaticResource enumToVisibilityConverter, 
                    ConverterParameter=StaticResource ConState"

【讨论】:

它正在工作,谢谢,但有没有其他方法,因为现在我也已经在 XML 中创建了所有枚举值

以上是关于如何在 UWP 的绑定中设置 ConvertParameter的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UWP XAML 上将样式触发器设置为路径绑定父状态

UWP 数据绑定:如何将按钮命令设置为 DataTemplate 中的父 DataContext

样式设置器中的 UWP 绑定不起作用

XF UWP - MVVM - 如何在嵌套对象中绑定选取器选定项?

UWP 组合框绑定到 SelectedItem 属性

应用程序设置绑定最佳实践