WP7选择文本框时设置Listbox Selectedindex

时间:2014-01-04 15:36:45

标签: silverlight windows-phone-7

我为Listbox项设置了DataTemplate,使其包含TextBlock和TextBox。

我面临的问题是,当显示列表时,其selectionindex为-1,并假设用户是否直接点击任何listitem的文本框,那么该Listitem尚未设置为该列表的选择项列表框。

当用户直接关注文本框时,如何更改/设置列表框的selectedindex / item?


好的,让我更清楚

我的ListBox DataTemplate如下

<ListBox.ItemTemplate>
   <DataTemplate>
     <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="325"/>
            <ColumnDefinition Width="80"/>
        </Grid.ColumnDefinitions>

       <TextBlock  Text="{Binding ProdName}" Margin="0,5,0,0" Width="315" FontSize="36" Grid.Column="0"  ></TextBlock>
       <TextBox InputScope="Number" Grid.Column="1" Text="{Binding ProdQty}"  TextAlignment="Center" Width="80" HorizontalAlignment="Left" Name="txtQty" GotFocus="ClearZero" LostFocus="TextBoxLostFocus"></TextBox>

      </Grid>
  </DataTemplate>

现在打开页面时,如果填充了列表框并且其SelectedIndex为-1。现在假设用户点击(或设置焦点)直接进入说第3个TextBox(即列表框中第三个ListItem的文本框),我希望列表框SelectedIndex从-1更改为2(第3个项目索引)。 / p>

当我在第3个(比方说)TextBox获得焦点时正在重新检查ListBox的SelectedIndex时,它返回的值为-1。

希望我很清楚。 感谢

1 个答案:

答案 0 :(得分:0)

点击它设置SelectedItem和SelectObject,因此它们最初为-1并且为null是完全合理的。

如果你想初始化它,那么只需将selectedindex设置为列表中的一个项目,然后填充它。 NB检查以查看items.count&gt;在你这样做之前就是0。