【发布时间】:2014-01-04 15:36:45
【问题描述】:
我已经为 Listbox 项设置了 DataTemplate,使其包含一个 TextBlock 和一个 TextBox。
我面临的问题是,当列表显示时,其 selectionindex 为 -1,并假设如果用户直接点击任何列表项的文本框,则该列表项尚未设置为选定项列表框。
当用户直接关注文本框时,如何更改/设置列表框的选定索引/项目?
好吧,让我说得更清楚
我的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。现在假设如果用户直接点击(或设置焦点)到说第三个文本框(即列表框中第三个 ListItem 的文本框),我希望列表框 SelectedIndex 从 -1 更改为 2(第三个项目索引)。
当我在第三个(比如说)TextBox 接收焦点时检索 ListBox 的 SelectedIndex 时,它返回一个值 -1。
希望我很清楚。 谢谢
【问题讨论】:
标签: silverlight windows-phone-7