Поиск элементов с похожим именем в WPF - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Всем привет! Подскажите как найти все элементы на wpf форме, которые имеют одинаковое начало в имени ? На Wpf форме есть кнопки:
Как в коде обратиться к ним при помощи цикла ? И как обратиться к Label внутри их ? Заранее спасибо.

Решение задачи: «Поиск элементов с похожим именем в WPF»

textual
Листинг программы
<UserControl x:Class="ButtonWithImage"
             Name="UserControl"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             mc:Ignorable="d">
    <UserControl.Resources>
        <ResourceDictionary xmlns:local="clr-namespace:WpfApplication1">
            <!--Кисть для фона в обычном состояния-->
            <LinearGradientBrush x:Key="NormalBackground"
                                 EndPoint="0.5,1"
                                 StartPoint="0.5,0">
                <GradientStop Color="#FF8FC8D1"
                              Offset="0" />
                <GradientStop Color="#FF318795"
                              Offset="1" />
            </LinearGradientBrush>
            <!--Кисть для фона, когда над контролом мышь-->
            <LinearGradientBrush x:Key="MouseOverBackground"
                                 EndPoint="0.5,1"
                                 StartPoint="0.5,0">
                <GradientStop Color="#FF48666A"
                              Offset="0" />
                <GradientStop Color="#FF1B464D"
                              Offset="1" />
            </LinearGradientBrush>
            <!--Кисть для шрифта в обычном состоянии-->
            <SolidColorBrush x:Key="NormalFontBrush"
                             Color="Red" />
            <!--Кисть для шрифта, когда над контролом мышь-->
            <SolidColorBrush x:Key="MouseOverFontBrush"
                             Color="White" />
 
            <Style TargetType="local:ButtonWithImage">
                <Setter Property="Background"
                        Value="{StaticResource NormalBackground}" />
                <Setter Property="Cursor"
                        Value="Hand" />
                <Setter Property="Foreground"
                        Value="{StaticResource NormalFontBrush}" />
                <Style.Triggers>
                    <MultiTrigger>
                        <MultiTrigger.Conditions>
                            <Condition Property="IsEnabled"
                                       Value="True" />
                            <Condition Property="IsMouseOver"
                                       Value="True" />
                        </MultiTrigger.Conditions>
                        <MultiTrigger.Setters>
                            <Setter Property="FontWeight"
                                    Value="Bold" />
                            <Setter Property="Background"
                                    Value="{StaticResource MouseOverBackground}" />
                            <Setter Property="Foreground"
                                    Value="{StaticResource MouseOverFontBrush}" />
                        </MultiTrigger.Setters>
                    </MultiTrigger>
                </Style.Triggers>
            </Style>
        </ResourceDictionary>
    </UserControl.Resources>
    <Border CornerRadius="10">
        <Button HorizontalContentAlignment="Left"
                Background="{Binding Background, ElementName=UserControl}">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="1*" />
                    <ColumnDefinition Width="2*" />
                </Grid.ColumnDefinitions>
                <Image HorizontalAlignment="Left"
                       Source="{Binding Picture, ElementName=UserControl}"
                       Margin="3" />
                <Grid  Grid.Column="1"
                       HorizontalAlignment="Left">
                    <Grid.RowDefinitions>
                        <RowDefinition />
                        <RowDefinition />
                    </Grid.RowDefinitions>
                    <Label Content="{Binding Path=Text, ElementName=UserControl}"
                           Foreground="{Binding Path=Foreground, ElementName=UserControl}"
                           Margin="0" />
                    <TextBox Grid.Row="1"
                             Text="{Binding Path=MoreText, ElementName=UserControl}" />
                </Grid>
            </Grid>
        </Button>
    </Border>
</UserControl>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5