具有相同 ALT 热键的 WPF 问题

WPF Issue with same ALT hotkey

我有一个 window,其中包含 3 个文本框和具有以下属性的标签:

 <Label x:Name="label" Content="_Label" Target="{Binding ElementName=textBox}"/>
 <Label x:Name="label1" Content="Label"/>
 <Label x:Name="label2" Content="_Label" Target="{Binding ElementName=textBox2}"/>

See this image

可以看到"label"和"label2"有相同的ALT+L键但是不同的Target 属性。当我关注 textBox middle 并按下 ALT + L 我需要 textBox2 是焦点(就像在MFC)。我不能使用隐藏代码,因为我大约有 200 windows。 非常感谢!

我认为如果您真的需要 code behindViewModel,您可以通过向 Label1 添加相同的快捷方式来实现,如下所示,

    <Label x:Name="label" Grid.Row="0" Content="_Label" Target="{Binding ElementName=textBox}"/>
    <Label x:Name="label1" Grid.Row="1" Content="_Label" Target="{Binding ElementName=textBox1}"/>
    <Label x:Name="label2" Grid.Row="2" Content="_Label" Target="{Binding ElementName=textBox2}"/>
    <TextBox x:Name="textBox" Grid.Column="1" Grid.Row="0"/>
    <TextBox x:Name="textBox1" Grid.Column="1" Grid.Row="1"/>
    <TextBox x:Name="textBox2" Grid.Column="1" Grid.Row="2"/>

如果你可以制作一个 ViewModel,那么 InputBindingKeyBinding 可以让它工作。