簡體   English   中英

C# 銀光。 Tab 鍵不會改變文本框的焦點

[英]C# SilverLight. The tab key does not change focus for the text boxes

我有一個小問題。

我將 ListBox 控件與文本框一起使用。

我將焦點設置在第一個文本框上,並嘗試通過鍵選項卡跳轉到以下文本框。 這是行不通的。

我怎么了?

提前致謝!

<ListBox Name="Box" ScrollViewer.HorizontalScrollBarVisibility="Disabled" Background="Transparent" BorderThickness="0">
            <ListBox.ItemContainerStyle>
                <Style TargetType="ListBoxItem">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate>
                                <StackPanel Orientation="Horizontal" Margin="40,2,0,2">
                                    <TextBlock Text="{Binding Label}" MinWidth="20" />
                                    <TextBox  TabIndex="{Binding Index, Mode=OneWay}" Text="{Binding Information, Mode=TwoWay}"/>
                                </StackPanel>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>
            </ListBox.ItemContainerStyle>
        </ListBox>

namespace SilverlightApplication1
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();

            var model = new List<Model>()
            {
                new Model() {Index = 1, Label = "1"},
                new Model() {Index = 2, Label = "2"},
                new Model() {Index = 3, Label = "3"},
                new Model() {Index = 4, Label = "4"}
            };

            Box.ItemsSource = model;


        }
    }


    public class Model
    {
        public int Index { get; set; }
        public string Label { get; set; }
        public string Information { get; set; }
    }
}

您需要在樣式中指定您希望選項卡如何工作。 您不需要綁定 tabindex,除非您想更改選項卡的工作順序。我認為這應該與您嘗試執行的操作類似:

<ListBox Name="Box"
         ScrollViewer.HorizontalScrollBarVisibility="Disabled"
         Background="Transparent"
         BorderThickness="0">
    <ListBox.ItemContainerStyle>
        <Style TargetType="ListBoxItem">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>
                        <StackPanel Orientation="Horizontal"
                                    Margin="40,2,0,2">
                            <TextBlock Text="{Binding Label}"
                                       MinWidth="20" />
                            <TextBox Text="{Binding Information, Mode=TwoWay}" />
                        </StackPanel>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Setter Property="IsTabStop"
                    Value="False" />
        </Style>
    </ListBox.ItemContainerStyle>
    <ListBox.Style>
        <Style TargetType="ListBox">
            <Setter Property="TabNavigation"
                    Value="Cycle" />
        </Style>
    </ListBox.Style>
</ListBox>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM