-1

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>
4

1 に答える 1

1

あなたが本当にやりたいのは、おそらく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
    }
于 2013-03-24T21:15:29.950 に答える