Могу ли я установить свойство динамического ресурса как динамический ресурс, и когда я изменю ресурс свойства, изменится и родительский ресурс? - PullRequest
0 голосов
/ 29 апреля 2019

У меня VisulBrush вот так:

<VisualBrush
    x:Key="visualBrush"
    TileMode="Tile"
    Viewbox="0,0,5 5"
    ViewboxUnits="Absolute"
    Viewport="0,0,5,5"
    ViewportUnits="Absolute">
    <VisualBrush.Visual>
        <Path
            Data="M 0 5 L 5 0 M -2 2 L 2 -2 M 3 7 L 7 3"
            RenderOptions.EdgeMode="Aliased"
            Stroke="Black"
            StrokeEndLineCap="Square" />
    </VisualBrush.Visual>
</VisualBrush>

Вы можете видеть, что это VisualBrush создает линии полосы. И я установил цвет линии полосы на "Черный", теперь это выглядит так:

enter image description here

Теперь я могу связать Backgroud любого UIElement с помощью этого VisualBrush. Но можно ли изменить динамический цвет линии полосы?

Например: когда у меня есть сетка, свойство фона которой привязано к этому VisualBrush, и теперь ее полоса имеет черный цвет, я надеюсь, что когда я нажимаю кнопку, полоса фона этой сетки может стать желтой.

Я пробовал много способов, но ни один из них не работает. Пожалуйста, дайте мне несколько советов. Спасибо.

1 Ответ

1 голос
/ 29 апреля 2019

Dynamicresource будет только «уведомлять» об изменении объекта верхнего уровня.

Это своего рода хеш-таблица, и когда вы устанавливаете значение (отключаете весь объект), пользовательский интерфейс подхватит его.

Предполагается, что замена всей кисти не подойдет вам.

Вы можете связать свойство, но оно должно уведомлять об изменениях. Значение свойства в классе, который реализует inotifypropertychanged или свойство зависимости.

Для свойства зависимостей вы можете использовать присоединенное свойство на visualbrush и связываться с ним.

Или вы можете использовать стилизацию, чтобы установить его, дать значение по умолчанию и использовать триггер, или источник данных, или визуальное состояние, чтобы изменить свойство (цвет). Что, разумеется, работает в стилях управления при наведении курсора мыши и отключении стилей.

...