Используйте RelativeSource в качестве ConverterParameter в стиле - PullRequest
2 голосов
/ 22 февраля 2012

Я пытаюсь использовать конвертер в элементе управления ItemContainerStyle, чтобы преобразовать свойство элемента в ItemsControl в значение X. Чтобы выполнить преобразование, мне также нужна ссылка на родительский элемент UserControl, в котором содержится ItemsControl. Я пытался использовать RelativeSource, но в функции Convert параметр не является UserControl, но экземпляр RelativeSource. Вот мой XAML:

<ItemsControl x:Name="itemsControl">
    <ItemsControl.ItemContainerStyle>
        <Style>
            <Setter Property="Canvas.Left">
                <Setter.Value>
                    <Binding Path="StartTime" 
                             Converter="{StaticResource startTimeToXConverter}"
                             ConverterParameter="{RelativeSource Mode=FindAncestor, AncestorType=UserControl}" />
                </Setter.Value>
            </Setter>
            <Setter Property="Canvas.Top" Value="{Binding Path=Y}" />
        </Style>
    </ItemsControl.ItemContainerStyle>

Что-то не так с моим синтаксисом или есть другой способ добиться этого?

1 Ответ

3 голосов
/ 22 февраля 2012

Если вам нужно связать Parameter, вы обычно должны использовать MultiBinding.

...