powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Binding к свойству другого элемента
5 сообщений из 5, страница 1 из 1
Binding к свойству другого элемента
    #38917568
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не получается прицепиться к свойству. Что где поправить надо?
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
        <xctk:ColorPicker x:Name="cpColor"  Grid.Row="2" Grid.Column="1" Margin="5" ColorMode="ColorPalette" SelectedColor="{Binding Path=Aspect.Color}" />
        <ListBox Grid.Row="3" Grid.ColumnSpan="2"  ItemsSource="{Binding Lines}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" 
                 Margin="5" >
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Line X1="0" Y1="10" X2="210" Y2="10" Height="20" StrokeThickness="1" StrokeDashArray="{Binding Dashes}"
                    Stroke="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type xctk:ColorPicker}}, 
                        Path=SelectedColor, Mode=OneWayToSource, UpdateSourceTrigger = PropertyChanged}"
                        />
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
...
Рейтинг: 0 / 0
Binding к свойству другого элемента
    #38917600
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavluha,

у вас объект ColorPicker не является предком (в визуальном дереве) для ListView и ListViewItem, по тому и не находит. Ведь ColorPicker не является Ancestor'оа для этих элементов, он сосед, а не предок :)
...
Рейтинг: 0 / 0
Binding к свойству другого элемента
    #38917602
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,

+ Mode=OneWayToSource подразумевает под собой то, что связывание будет влиять только на источника, а не приёмник.
Если свойство Stroke изменится, только тогда изменится источник, а изменение источника не повлияет на приёмник. Не очень понятно, зачем это сделано.
...
Рейтинг: 0 / 0
Binding к свойству другого элемента
    #38917603
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes,

А есть вариант тогда какой-нибудь?

Пробовал еще так, но тоже не выходит:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
        <ListBox Grid.Row="3" Grid.ColumnSpan="2"  ItemsSource="{Binding Lines}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" 
                 Margin="5" >
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Line X1="0" Y1="10" X2="210" Y2="10" Height="20" StrokeThickness="1" StrokeDashArray="{Binding Dashes}"
                    Stroke="{Binding Path=Aspect.Color}"/>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
...
Рейтинг: 0 / 0
Binding к свойству другого элемента
    #38917640
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работает вот так:
Код: xml
1.
2.
                    <Line X1="0" Y1="10" X2="210" Y2="10" Height="20" StrokeThickness="1" StrokeDashArray="{Binding Dashes}"
                    Stroke="{Binding ElementName=cpColor, Path=SelectedColor, Converter={StaticResource ColorToBrushConverter}, Mode=OneWay}"/>
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Binding к свойству другого элемента
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]