最简单的方法来访问listbox itemtemplate中的Textblock

时间:2012-11-26 10:47:56

标签: c# linq xaml binding itemtemplate

我已经看到很多问题和答案几乎都有同样的问题,但这些答案都不适用于我。所以,我的代码是:

<ListBox ItemsSource="{Binding Avakuvaandmed}" x:Name="lboxandmed" HorizontalAlignment="Left" Height="552" VerticalAlignment="Top" Width="970" SelectionChanged="lboxandmed_SelectionChanged" >
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Horizontal" x:Name="spanVärviSeda">
    I HAVE TO GET VALUE OF THIS --> <TextBlock x:Name="IDbox" Width="50" Text="{Binding Id}"></TextBlock>
                                    <TextBlock Width="130" Text="{Binding Nrmärk}"></TextBlock>
                                    <TextBlock x:Name="txtKehtivus" Width="130" Text="{Binding Lõpp}"></TextBlock>
                                    <TextBlock Width="130" Text="{Binding Eesnimi}"></TextBlock>
                                    <TextBlock Width="130" Text="{Binding Perenimi}"></TextBlock>
                                    <TextBlock Width="130" Text="{Binding Mark}"></TextBlock>
                                    <TextBlock Width="130" Text="{Binding Mudel}"></TextBlock>
                                    <TextBlock Width="130" Text="{Binding Aasta}"></TextBlock>
                                </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>

我必须得到名为“IDbox”的文本块的值。 请有人帮助我,或至少给我一个线索如何。

1 个答案:

答案 0 :(得分:0)

您的代码看起来是正确的。如果你想在后面的代码中访问IDbox的值,那么你可以通过Avakuvaandmed.ElementAt(rowno)来实现.Id因为你将Id绑定到IDBox。如果要访问xaml中的BoxId值。然后使用绑定如下:

{Binding Avakuvaandmed[rowno],Path=Id}

您还可以使用VisualTreeHelper类访问Textblock值。您需要遍历ListBox中的所有元素。