我如何能恢复文本块值在代码后面的列表框

本文关键字:代码 列表 何能 恢复 文本 | 更新日期: 2023-09-27 18:05:50

我会在

后面的代码中恢复我的文本块中的ItemId
<phone:PanoramaItem Header="Available">
            <Grid>
                <ListBox x:Name="ItemsCheckedinList" HorizontalAlignment="Left">
                    <ListBox.ItemsPanel>
                        <ItemsPanelTemplate>
                            <toolkit:WrapPanel/>
                        </ItemsPanelTemplate>
                    </ListBox.ItemsPanel>
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel>
                                <Button x:Name="ButtonItemCheckedin" 
                Click="Button_ItemDetail" BorderBrush="{x:Null}" Width="200" 
                Height="200" Padding="0" Margin="0">
                                    <Button.Background>
                                        <ImageBrush ImageSource="{Binding Path=Image}" 
                Stretch="UniformToFill"/>
                                    </Button.Background>
                                    <StackPanel Orientation="Vertical" 
                Background="#FF0081C6" VerticalAlignment="Bottom" >
                                        <TextBlock Text="{Binding Path=Id}" 
                x:Name="ItemId" Visibility="Collapsed"/>
                                        <TextBlock Text="{Binding Path=Name}"/>
                                        <TextBlock Text="{Binding Path=Status}"/>
                                    </StackPanel>
                                </Button>
                            </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>
            </Grid>
        </phone:PanoramaItem>

我如何能恢复文本块值在代码后面的列表框

您真正想做的可能是从模型中获取id最初来自的值。假设列表中包含的类名为Item,可能是这样的名称?

    private void Button_ItemDetail(object sender, RoutedEventArgs e)
        var fe = (FrameworkElement)sender;
        var item = (Item)fe.DataContext;
        var id = item.Id; // <-------------- id is in the variable id
    }

你也可以这样做:

    private void Button_ItemDetail(object sender, RoutedEventArgs e)
    {
        Button b = (Button)sender;
        var tb = (TextBlock)b.FindName("IdTextBox");
        var id = tb.Text; // <-------------- id is in the variable id
    }