WPF - Привязка цветного ресурса к объекту данных в DataTemplate

У меня есть a DataTemplate и a SolidColorBrush в DataTemplate.Resources раздел. Я хочу связать цвет со свойством того же объекта данных что DataTemplate самостоятельно связывается с. Однако это не работает. Кисть проигнорирована. Почему?

Вот упрощенный код:

        <DataTemplate DataType="{x:Type data:MyData}" x:Name="dtData">
            <DataTemplate.Resources>
                <SolidColorBrush x:Key="bg" Color="{Binding Path=Color, Converter={StaticResource colorConverter}" />
            </DataTemplate.Resources>
            <Border CornerRadius="15"
                    Background="{StaticResource bg}"
                    Margin="0"
                    Opacity="0.5"
                    Focusable="True">
        </DataTemplate>

Я понимаю, что мог установить это непосредственно также, но мне нужен цвет, чтобы быть ресурсом.

1
задан John 22 May 2010 в 11:29
поделиться

2 ответа

"Работает на моей машине" :) У меня одна теория. Ваша привязка работает, ваша граница не имеет содержимого, поэтому она состоит только из самой границы, но вы устанавливаете свойство фона, а не BorderBrush, поэтому на самом деле у вас нет области, также вы не устанавливаете BorderThickness, поэтому на самом деле у вас есть граница с 0 ширина и высота 0. Итак, установите BorderThickness, Width или Height.

1
ответ дан 3 September 2019 в 00:23
поделиться

В качестве альтернативы вы можете упростить, используя нижеприведенное.

    <DataTemplate DataType="{x:Type data:MyData}" x:Name="dtData">
        <Border CornerRadius="15"
                Background="{Binding Path=Color, Converter={StaticResource colorConverter}}"
                Margin="0"
                Opacity="0.5"
                Focusable="True">
    </DataTemplate>
1
ответ дан 3 September 2019 в 00:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: