Как динамически привязать фоновую кисть прогона к ресурсу? - PullRequest
1 голос
/ 23 мая 2011

В моем app.xaml:

<Application.Resources>
    <SolidColorBrush x:Key="colorBrush1" Color="Orange" Opacity="1"/>
    <SolidColorBrush x:Key="colorBrush2" Color="Green" Opacity="1"/>
</Application.Resources>

В моем коде:

Run run = new Run("My name is Bob!");
run.SetResourceReference(ForegroundProperty, "colorBrush1");
run.SetResourceReference(BackgroundProperty, "colorBrush2");

Paragraph paragraph = new Paragraph(run);

this.flowDocument.Blocks.Add(paragraph);

Ожидаемый результат: Запуск отображается с цветом переднего плана и цветом фонакак определено в app.xaml выше.

Фактический результат: Цвет переднего плана работает (кажется оранжевым), но фон остается прозрачным.

Почему не привязывает фон прогона к работе ресурса, как это происходит с передним планом ??? Я попытался сначала добавить прогон и абзац к FlowDocument, а затем связать, но результат был тем же.

1 Ответ

1 голос
/ 23 мая 2011

Причина в том, что BackgroundProperty необходимо уточнить.Это то, что вы хотите:

        Run run = new Run("My name is Bob!");
        run.SetResourceReference(Run.ForegroundProperty, "colorBrush1");
        run.SetResourceReference(Run.BackgroundProperty, "colorBrush2");

Настоящая загадка, почему просто написать «ForegroundProperty» работает.

...