我是编程新手,我很难将我在<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
),例如它工作正常。
我只是不懂语法。
是否可以传递在资源中创建的类?
我将非常感谢你的帮助。
答案 0 :(得分:3)
您尝试的方式表明它可以在当前RegViewModel
上找到DataContext
。
要指向您的viewmodel本身,您可以说绑定的来源是RegViewmodel
,并进行了以下更改。在这种情况下,完整的RegViewModel
将传递给CommandParameter
CommandParameter="{Binding Source={StaticResource RegViewModel}}"