0

私の Windows Phone アプリケーションでは、ページの 1 つに [さらに読み込む] ボタンのある ListBox があります。ページの下部に TextBox とボタンがあります。リストボックスの下部にある [さらに読み込む] ボタンをクリックすると、フォーカスが自動的にテキスト ボックスに移動し、キーパッドが表示されます。ボタンクリックでテキストボックスにフォーカスする必要はありません。この問題がどのように発生し、どうすればこの問題を解決できますか。

以下に示すリストボックスに使用されるスタイルの xaml

<phone:PhoneApplicationPage.Resources>
    <Style x:Key="ListBoxMore" TargetType="ListBox">
        <Setter Property="Background" Value="Transparent"/>
        <Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
        <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/>
        <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Visible"/>
        <Setter Property="BorderThickness" Value="0"/>
        <Setter Property="BorderBrush" Value="Transparent"/>
        <Setter Property="Padding" Value="0"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="ListBox">
                    <ScrollViewer x:Name="ScrollViewer">
                        <StackPanel>
                        <ItemsPresenter/>
                            <Border BorderBrush="Black" BorderThickness="0,0.5">
                                <Button Content="Load More..." Name="btnLoadMore" Visibility="Visible" Background="White" Foreground="#FF176DDC" Click="btnLoadMore_Click"></Button>
                            </Border>
                        </StackPanel>
                    </ScrollViewer>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</phone:PhoneApplicationPage.Resources>

以下に示すリストボックスのxaml

<ListBox x:Name="userDetailsList" SelectionMode="Multiple" Style="{StaticResource ListBoxMore}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <Border BorderThickness="0,0.5,0,0" BorderBrush="Black" Width="440">
                    <Grid Width="430">
                        <Image Source="{Binding UserImage}"/>
                        <TextBlock Text="{Binding UserName}"/>
                        <TextBlock Text="{Binding Details}"/>
                        <TextBlock Text="{Binding Date}"/>
                    </Grid>
                </Border>
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

loadmore ボタンをクリックすると、フォーカスはリストボックスの下にあるテキストボックスに移動します。そこにはテキストボックスが1つしかありません。

4

0 に答える 0