如何将枚举值传递给多参数RelayCommand(WPF / MVVM)?

时间:2016-06-17 08:18:18

标签: c# wpf xaml mvvm

处理WPF / MVVM项目。 仍然是XAML的菜鸟。 我没有设法将枚举参数传递给RelayCommand

public enum MyEnum {Val1, Val2, Val3};

xaml part:

<Button   Command="{Binding DataContext.MyCommand, RelativeSource={RelativeSource AncestorType=UserControl}}">
   <Button.CommandParameter>
          <MultiBinding Converter="{StaticResource MultiValueConverter}">
                <!-- all my other parameters that wok fne-->
                <Binding  Path="{StaticResource MyEnum.Val1}"/>
          </MultiBinding>
    </Button.CommandParameter>
</Button>RelayCommand

以这种方式声明为资源:

  <vm:MyEnum x:Key="MyEnum " />

我错过了什么?

1 个答案:

答案 0 :(得分:0)

您的resourcekey末尾的空白是问题,或者您可以尝试以下操作:

{x:Static vm:MyEnum.Val1}"

编辑:

澄清此代码段:

<Binding  Path="{x:Static vm:MyEnum.Val1}"/>

但是如果你总是绑定相同的值,你也可以将这个enumvalue在转换器中保持不变。