使用MultiBinding时将枚举值作为命令参数传递

时间:2012-08-07 15:55:46

标签: .net wpf xaml command

我想做一些与此post类似的事情但是使用MultipleBindings。

这样的事情:

    <Button.CommandParameter>
        <MultiBinding Converter="{StaticResource commandParametersConverter}">
            <MultiBinding.Bindings>
                <Binding Path="DataContext" />
                <Binding Path="{x:Static vm:Direction.Down}" Mode="OneWay"/>
            </MultiBinding.Bindings>
        </MultiBinding>
    </Button.CommandParameter>

该行:

    <Binding Path="{x:Static vm:Direction.Down}" Mode="OneWay"/>

引发错误:对象引用未设置为对象的实例。我假设在这种情况下不允许静态,那么下一个最佳选择是什么?

1 个答案:

答案 0 :(得分:4)

Path中的Source更改为<Binding Path="{x:Static vm:Direction.Down}" Mode="OneWay"/>

<Button.CommandParameter>
    <MultiBinding Converter="{StaticResource commandParametersConverter}">
        <MultiBinding.Bindings>
            <Binding Path="DataContext" />
            <Binding Source="{x:Static vm:Direction.Down}" Mode="OneWay"/>
        </MultiBinding.Bindings>
    </MultiBinding>
</Button.CommandParameter>