gpt4 book ai didi

复合控件中的 WPF TabIndex

转载 作者:行者123 更新时间:2023-12-04 22:26:00 25 4
gpt4 key购买 nike

我有一个简单的窗口,其中嵌入了一个简单的复合控件。

(主窗口)

<Window x:Class="TabOrder.Window1"
xmlns:local="clr-namespace:TabOrder"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<Label HorizontalAlignment="Left" VerticalAlignment="Top">First</Label>
<TextBox TabIndex="0" HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="80,0,0,0"/>

<Label HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,30,0,0">Second</Label>
<TextBox TabIndex="1" HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="80,30,0,0"/>

<local:MyControl Margin="0,60,0,0" VerticalAlignment="Top" HorizontalAlignment="Stretch" TabIndex="2"/>
</Grid>

(复合控制)
<UserControl x:Class="TabOrder.MyControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<Label HorizontalAlignment="Left" VerticalAlignment="Top">Third</Label>
<TextBox HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="80,0,0,0"/>

<Label HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,30,0,0">Fourth</Label>
<TextBox HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="80,30,0,0"/>
</Grid>

正如我的表单所预期的那样,我得到 4 个文本框...
  • 第一个
  • 第二个
  • 第三个
  • 第四次

  • 但是当“第一”有焦点并且我点击选项卡时,焦点切换到“第三”。 WPF 似乎将选项卡列表视为单个平面列表,而不是将其视为 MyControl 为 TabIndex 3 且文本框“第三”是其中第一个选项卡式控件的树。

    这是 WPF 中的错误还是有其他方法可以做到这一点?复合控件用于多个窗口,甚至可以在单个窗口中多次使用。

    最佳答案

    我知道这个回复已经很晚了……但是您是否尝试过:

    <UserControl ... KeyboardNavigation.TabNavigation="Local">

    这样做将确保一旦您的 UserControl 获得焦点,您将仅通过 UserControl 中的 TabStop 导航(而不是担心整个应用程序中的 TabIndex 值冲突)。循环遍历 UserControl 的 TabStops 后,TabNavigation 将恢复到它外部的 TabStop。

    http://msdn.microsoft.com/en-us/library/system.windows.input.keyboardnavigationmode.aspx

    关于复合控件中的 WPF TabIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1886894/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com