访问WPF项目控件中的子元素

时间:2017-10-10 09:26:23

标签: wpf vb.net

我有一个用按钮填充的wrappanel。该按钮包含2个标签,显示数字和名称。

我向按钮(Mailbox_Button_Click)添加了一个事件处理程序,当按下任何按钮时,它会正确触发,但是在该函数内部我不知道如何找出按下哪个按钮,以及如何获取按下按钮中的标签内容。

这是WPF代码:

<Border Style="{DynamicResource BaseBorder}" HorizontalAlignment="Left" Height="419" Margin="150,34,0,0" VerticalAlignment="Top" Width="514" Background="White" BorderThickness="0">
                        <ItemsControl x:Name="Mailboxes_Control" Margin="5" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
                            <ItemsControl.Template>
                                <ControlTemplate>
                                    <ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
                                        <WrapPanel  Width="{TemplateBinding Width}" Height="{TemplateBinding Height}"  FlowDirection="LeftToRight" IsItemsHost="true" Margin="0,0,0,0" Orientation="Horizontal" >
                                        </WrapPanel>
                                    </ScrollViewer>
                                </ControlTemplate>
                            </ItemsControl.Template>
                            <ItemsControl.ItemTemplate>
                                <DataTemplate>
                                    <Button x:Name="Mailbox_Button" Style="{StaticResource POSKeypadButton_Style}"  HorizontalAlignment="Right" Margin="1" Width="Auto" FontSize="12" Background="#FFF4C20D" Foreground="Black" Click="Mailbox_Button_Click">

                                        <Grid>
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="*" />
                                                <ColumnDefinition Width="*" />
                                            </Grid.ColumnDefinitions>
                                            <Grid.RowDefinitions>
                                                <RowDefinition Height="*"/>
                                            </Grid.RowDefinitions>

                                            <Label x:Name="MailboxNumberButton_Label" Grid.Column="0" FontSize="16">
                                                <Label.Content>
                                                    <Binding Path="Number" />
                                                </Label.Content>
                                            </Label>

                                            <Label Grid.Column="1" FontSize="12" MaxWidth="74.5" Foreground="Black">
                                                <Label.Content>
                                                    <AccessText Text="{Binding Name}"  TextWrapping="Wrap"/>
                                                </Label.Content>
                                            </Label>


                                        </Grid>
                                    </Button>
                                </DataTemplate>
                            </ItemsControl.ItemTemplate>
                        </ItemsControl>

                    </Border>

0 个答案:

没有答案