我想了解如何在UWP项目中设置EventTriggerBehaviors。 所以我明白,我需要有Microsoft.Xaml.Behaviors.Uwp.Managed安装的软件包,并在我的XAML文件中声明下面的命名空间:UWP EventTriggerBehaviors按钮GotFocus
xmlns:Core="using:Microsoft.Xaml.Interactions.Core"
xmlns:Interactivity="using:Microsoft.Xaml.Interactivity"
本身的按钮应该被声明为:
<Button x:Name="btnTest >
<Interactivity:Interaction.Behaviors>
<Core:EventTriggerBehavior EventName="GotFocus" >
<Core:EventTriggerBehavior.Actions>
<Core:InvokeCommandAction Command="{Binding ... }" />
</Core:EventTriggerBehavior.Actions>
</Core:EventTriggerBehavior>
</Interactivity:Interaction.Behaviors>
</Button>
但后来我迷路了......我想要的是一旦按钮获得焦点,它会在文本框中设置一些文本(基于按钮名称)。
我需要一个服务,什么应该是ViewModel代码?
实际上,是否有人能够推荐有关这个主题的优秀阅读,例子,书籍......?
更新以下詹姆斯回复: 的XAML InvokeCommandAction变为:
<Core:InvokeCommandAction Command="{Binding OnButtonFocusCommand}" CommandParameter="{Binding Name, ElementName=btnTest}" />
但我怎么得到的视图模型的方法中的参数?
谢谢詹姆斯,你的回复非常有用,但是不完整。如果我从命令参数传递一个值,我该如何接收它? –
@FranckE我已经更新了我的答案,显示了通过参数传递给命令的DelegateCommand {T}场景。 –
谢谢,这个作品很棒:) –