无法将类作为参数传递给命令

时间:2016-02-22 17:03:43

标签: wpf

我是编程新手,我很难将我在<Window.Resources>中创建的课程作为参数传递给XAML

  <Window.Resources>
      <local:RegisterWindowViewModel x:Key="RegViewModel"/>
      <local:RegisterValidationConverter x:Key="RegValid"/>
      <local:UsersViewModel x:Key="UVM"/>
  </Window.Resources>

这是带有命令绑定的按钮

    <Button Name="signupButton" DataContext="{StaticResource UVM}"
            Height="50" Width="150" BorderBrush="Black" BorderThickness="2" 
            FontSize="20" FontWeight="SemiBold"
            Style="{StaticResource AccentedSquareButtonStyle}"
            Command="{Binding GetRegisterItemCommand}"
            CommandParameter="{Binding RegViewModel}">
        Sign Up
    </Button>

我认为此代码CommandParameter="{Binding RegViewModel}"不正确,但我不知道如何替换它......

因此我在命令功能中得到null而不是我的对象。 功能本身还可以;我已经测试了很多,我试图传递另一个对象(TextBox),例如它工作正常。

我只是不懂语法。

是否可以传递在资源中创建的类?

我将非常感谢你的帮助。

1 个答案:

答案 0 :(得分:3)

您尝试的方式表明它可以在当前RegViewModel上找到DataContext

要指向您的viewmodel本身,您可以说绑定的来源是RegViewmodel,并进行了以下更改。在这种情况下,完整的RegViewModel将传递给CommandParameter

CommandParameter="{Binding Source={StaticResource RegViewModel}}"