我为Button创建了一个Blend行为.如何将其设置为应用程序中的所有按钮.
<Button ...>
<i:Interaction.Behaviors>
<local:MyBehavior />
</i:Interaction.Behaviors>
</Button>
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试:
<Style>
<Setter Property="i:Interaction.Behaviors">
<Setter.Value>
<local:MyBehavior />
</Setter.Value>
</Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)
我收到了错误
"行为"属性没有可访问的setter.
在WPF应用程序中,我有一个包含很多字段的窗口.当用户在填充每个字段后使用TAB键时,Windows会理解它会移动到下一个字段.这是非常了解的行为.
现在我想要的是,它使模拟TAB键,实际上RETURN被击中.所以在我的WPF xaml中,我添加了暗示KeyDown="userPressEnter"
在它背后的代码中:
private void userPressEnter(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
e.Key = Key.Tab // THIS IS NOT WORKING
}
}
Run Code Online (Sandbox Code Playgroud)
现在,显然这不起作用.但我不知道的是,我如何使这项工作?
编辑1 ==>找到一个解决方案
我找到了帮助我的东西=)
private void userPressEnter(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
TraversalRequest request = new TraversalRequest(FocusNavigationDirection.Next);
MoveFocus(request);
}
}
Run Code Online (Sandbox Code Playgroud)
这样,焦点移动到下一个它可以找到:)