locked
ScrollViewer IsTabStop="False" 時の不自然なフォーカス移動について RRS feed

  • 質問

  • 損と申します。
    VS2010+Blend4+Silverlight4で開発しております。

    ScrollViewerを使用した画面で不可思議な現象が出たのですが、回避方法をご存知の方はいらっしゃいますでしょうか。

    ■再現手順
    ・Silverlightアプリケーションを新規作成し、XAMLを作成します。
    ・text2の「ふち」をクリックすると、なぜかtext1にフォーカスが当たります。

    <UserControl
        x:Class="SilverlightApplication2.MainPage"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d"
        d:DesignHeight="300"
        d:DesignWidth="400"
        xmlns:my="clr-namespace:SilverlightApplication2">

        <Grid x:Name="LayoutRoot" Background="White">
            <ScrollViewer IsTabStop="False">
                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                    </Grid.RowDefinitions>
                    <TextBox x:Name="text1" Grid.Row="0" Margin="5" HorizontalAlignment="Left" Width="150"/>
                    <TextBox x:Name="text2" Grid.Row="1" Margin="5" HorizontalAlignment="Left" Width="150"/>
                </Grid>
            </ScrollViewer>
        </Grid>
    </UserControl>


    どうやら、ScrollViewerのIsTabStopを"False"に設定すると起こるようなのですが、これは仕様と割り切ってしまって良いものなのでしょうか。

     

    2011年3月24日 8:48

すべての返信

  • こんにちは。

    Text1にフォーカスがいくというより、タブインデックスの一番若い番号のものにフォーカスが移動するって事のようですね。


    K.Oumi
    2011年3月31日 5:32