@EboLiK

Как получить данные label или другого контрола, который находится в listview?

Есть listview и выглядит он вот так:
63904f7fe413b886072918.png

Делал это все через биндинг элементов.
Вот часть кода:
<ListView x:Name="ListGoods" ScrollViewer.CanContentScroll="False" BorderThickness="0" d:ItemsSource="{d:SampleData ItemCount=5}" Grid.Row="3" Grid.ColumnSpan="3" Background="Transparent" Margin="31,0,0,0">
                <ListView.Resources>
                    <Style TargetType="GridViewColumnHeader" >
                        <Setter Property="Visibility" Value="Collapsed" />
                    </Style>

                </ListView.Resources>

                <ListView.View>
                    <GridView>
                        <GridViewColumn Header="Фото" Width="1415">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Grid>
                                        <Grid.OpacityMask>
                                            <VisualBrush Visual="{Binding ElementName=Border1}" />
                                        </Grid.OpacityMask>
                                        <Border x:Name="Border1" Height="300" Width="Auto" CornerRadius="30" Background="#232b55" Margin="10,10,0,10"/>
                                        <StackPanel Height="300" Width="1140" Orientation="Horizontal">
                                            <StackPanel Width="300" Height="300">
                                                <Image Source="{Binding Photo}" Width="308" Stretch="UniformToFill" Height="307"/>
                                            </StackPanel>
                                            <StackPanel Margin="15,0,0,0" Width="400" Orientation="Vertical">
                                                <StackPanel Width="400" Height="50" HorizontalAlignment="Center">
                                                    <Label x:Name="name" Content="{Binding Name}" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="white" Margin="0,10,0,0" FontSize="20" FontFamily="Leelawadee" FontWeight="Bold"/>
                                                </StackPanel>
                                                <StackPanel Orientation="Horizontal">
                                                    <StackPanel Width="200">
                                                        <Label Content="{Binding labSeasonality_Diameter}" Foreground="White" Padding="0" Margin="0,20,0,0" FontSize="14"/>

Надо получить данные данные из lable у которого имя Name.

string ConnectionString = $"SELECT * FROM GoodsInTheStock a LEFT JOIN Characteristic b ON a.ID_Goods = b.ID_Characteristic Where a.Type like 'Шина'";
            SqlCommand command = new SqlCommand(ConnectionString, dataBase.GetConnection());
            SqlDataAdapter adapter = new SqlDataAdapter();
            DataTable table = new DataTable();

            adapter.SelectCommand = command;
            adapter.Fill(table);


            for (int i = 0; i < table.Rows.Count; i++)
            {
                goods DataTire = new goods()
                {
                    Name = table.Rows[i][1].ToString(),
                    Price = table.Rows[i][3].ToString(),
                    Photo = table.Rows[i][5].ToString(),
                    Seasonality_Diameter = table.Rows[i][7].ToString(),
                    labSeasonality_Diameter = "Сезонность",
                    DriverProtection_Width = table.Rows[i][9].ToString(),
                    labDriverProtection_Width = "Защита протектора",
                    TreadDepth_Applicability = table.Rows[i][8].ToString(),
                    labTreadDepth_Applicability = "Глубина протекора",
                    Protector_PCD = table.Rows[i][10].ToString(),
                    labProtector_PCD = "Протектор",
                    SpeedIndex_CHDDiameter = table.Rows[i][11].ToString(),
                    labSpeedIndex_CHDDiameter = "Индекс скорости",
                    LoadIndex_Departure = table.Rows[i][12].ToString(),
                    labLoadIndex_Departure = "Индекс нагрузки",
                    Guarantee = table.Rows[i][16].ToString(),
                };
                ListGoods.Items.Add(DataTire);
            }}


Не понимаю как получить значение label... Все уже пересмотрел.
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Надо получить данные данные из lable у которого имя Name.

Кому и зачем надо? У вас в лейбл привязаны данные элемента из вашего списка - вот из списка и берите элемент со всеми его данными. Если вы пытаетесь получить какие-то данные из элемента интерфейса - значит, вы что-то делаете не так. Вероятно, вы смешали все в кучу - данные, модели, представления, бизнес логику и т.п.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы