C#Xaml如何获取列表框所选项目文本框值

时间:2015-05-12 17:46:41

标签: c# xaml listbox windows-phone-8.1

我正在开发Windows Phone 8.1应用程序,我需要获取名为“time_tb”和“task_text_tb”的文本框的值,这些文本框位于我选择的项目中。这是我的Xaml代码:

        <ListBox x:Name="list" ItemsSource="{Binding tasks}" Background="White" Margin="-1,50,-1,63">

        <ListBox.ItemTemplate>

            <DataTemplate>

                <Grid Margin="1" Height="76" Tapped="Grid_Tapped" Width="389">

                    <Grid.ColumnDefinitions>

                        <ColumnDefinition Width="83*" />

                        <ColumnDefinition Width="307*" />
                    </Grid.ColumnDefinitions>
                    <TextBox x:Name="time_tb" Margin="0,15,276,0" TextWrapping="Wrap" Text="{Binding time}" VerticalAlignment="Top" BorderBrush="#FF49B7DC" Width="83" Height="45" FontSize="18.667" Foreground="{x:Null}" Background="White" FontFamily="Segoe UI Emoji" IsReadOnly="True" TextAlignment="Center" HorizontalAlignment="Right" Grid.ColumnSpan="2"/>
                    <Grid Grid.Column="1">

                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto" />

                            <RowDefinition Height="*" />

                        </Grid.RowDefinitions>

                        <TextBlock x:Name="task_text_tb" Margin="63,14,10,39.833" HorizontalAlignment="Stretch"  TextWrapping="Wrap" Text="{Binding wht}"  FontSize="16"  SelectionHighlightColor="#FF1455B3" Grid.RowSpan="2" />
                    </Grid>

                </Grid>

            </DataTemplate>

        </ListBox.ItemTemplate>
        <StackPanel Height="100" Width="100"/>
    </ListBox>

1 个答案:

答案 0 :(得分:0)

在viewmodel中,保留SelectedItem的属性(绑定到列表selectedItem)和2属性,用于更改SelectedItem时将更新的当前所选项的文本框。然后将这两个属性绑定到要显示值的位置。

你可能需要做一些魔法来找到实际选择的项目,因为我认为所选项目只返回一个索引或某事......

希望这有帮助