1

是否可以使用 FocusAction 将焦点从 KeyBehavior 移动到另一个控件?如果是这样,一个例子会很有帮助。TIA

4

1 回答 1

0

迷人。

这是行不通的:

<TextBox x:Name="T1">
    <Interactivity:Interaction.Behaviors>
        <b:KeyBehavior Key="Enter">
            <b:FocusAction TargetObject="{Binding ElementName=T2}" />
        </b:KeyBehavior>
    </Interactivity:Interaction.Behaviors>
</TextBox>
<TextBox x:Name="T2" />

但我喜欢这个想法,我会很快将它添加到行为中。

同时,如果没有您创建的自定义内容,就没有声明性方法可以做到这一点。顺便说一句,我试过这个(也不起作用):

<TextBox x:Name="T1">
    <Interactivity:Interaction.Behaviors>
        <b:KeyBehavior Key="Enter">
            <Core:CallMethodAction MethodName="Focus" TargetObject="{Binding ElementName=T2}" />
        </b:KeyBehavior>
    </Interactivity:Interaction.Behaviors>
</TextBox>
<TextBox x:Name="T2" />

不起作用,因为 Focus 有参数并且行为不支持传递参数。虽然我希望它会。

不过好主意。有点像强迫TAB,对吧?凉爽的。

杰瑞

于 2016-03-23T22:20:34.123 回答