Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > WPF Доступ к свойствам одного элемента из другого


Автор: Auratos 18.10.2017, 12:35
Добрый день. Разрабатываю программу для работы с изображениями. Цель - добавить следующий функционал:
1. загрузка изображений из выбранной директории в коллекцию
2. при отображении под каждой картинкой отображается имя файла и две кнопки (элемент Image) "-" и "+"
3. при нажатии на кнопку "+" выбранный файл помещается в требуемую папку и в левом верхнем углу картинки появляется и инкрементируется некий счетчик нажатий. При нажатии на кнопку "-" происходит обратное действие (когда счетчик становится равен 0, то это поле становится невидимым).

Интерфейс у меня создается по следующему принципу:
Код

<DataTemplate DataType="{x:Type er:Photo}">
            <Grid VerticalAlignment="Center" HorizontalAlignment="Center" Margin="6">
                <!-- Drop Shadow -->
                <Border HorizontalAlignment="Stretch" VerticalAlignment="Stretch" CornerRadius="4" Background="#44000000">
                    <Border.RenderTransform>
                        <TranslateTransform X="5" Y="5" />
                    </Border.RenderTransform>
                    <Border.BitmapEffect>
                        <BlurBitmapEffect Radius="8" />
                    </Border.BitmapEffect>
                </Border>
                <!-- Image Template -->
                <Border Padding="4" Background="White" BorderBrush="#22000000" BorderThickness="1">
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="*" />
                            <RowDefinition Height="26" />
                        </Grid.RowDefinitions>
                        <Image Grid.Row="0" Source="{Binding Source}" Stretch="Uniform"/>
                        <Grid Name="Counter" Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Visibility="Visible">
                            <Image Source="/Resources/Counter.jpg" Stretch="Uniform" Width="28" Height="28"/>
                            <Label Content="3" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontSize="16" ></Label>
                        </Grid>
                        <Grid Grid.Row="1">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="28" />
                                <ColumnDefinition Width="*" />
                                <ColumnDefinition Width="28" />
                            </Grid.ColumnDefinitions>
                            <Image Grid.Column="0" Source="/Resources/Del.jpg" PreviewMouseUp="DelImageClick" Margin="0,2,0,0"/>
                            <Label Grid.Column="1" Content="{Binding FileName}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Padding="0"></Label>
                            <Image Grid.Column="2" Source="/Resources/Add.jpg" PreviewMouseUp="AddImageClick" Margin="0,2,0,0"/>
                        </Grid>
                    </Grid>
                </Border>
            </Grid>
        </DataTemplate>


1 и 2 функции я реализовал + знаю уже как работать дальше с файлом выбранного изображения, т.к. получаю полное имя выбранного изображения. Подскажите, пожалуйста, как обратиться по нажатию кнопки к свойству другого элемента (делать поле видимым/невидимым и изменять текст-счетчик в элементе Label) в выделенном блоке? (сам проект ниже)
http://s019.radikal.ru/i639/1710/82/e6ed8d11299c.jpg

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)