Я изменяю шаблон управления элемента управления календаря WPF, чтобы изменить цвет текста, и . Предыдущие и Next стрелки на элементе управления. Я хочу установить цвет для локального ресурса SolidColorBrush, который называется MyTextBrush
.WPF: настройка имени цвета для ресурса?
Кнопки Previous и Next имеют отдельные шаблоны управления, и каждый рисует объект Path для стрелки своей кнопки. Вот соответствующая разметка для кнопки Предыдущая:
<Path Margin="14,-6,0,0" Height="10" Width="6" VerticalAlignment="Center" HorizontalAlignment="Left" Stretch="Fill" Data="M288.75,232.25 L288.75,240.625 L283,236.625 z">
<Path.Fill>
<SolidColorBrush x:Name="TextColor" Color="#FF333333" />
</Path.Fill>
</Path>
Обратите внимание, что цвет называется TextColor
, используя x:Name
свойства.
Это моя проблема: требуется свойство x:Name
. WPF генерирует исключение, если оно отсутствует. Это означает, что я не могу просто заменить всю кисть ссылкой на ресурс MyTextBrush
, потому что потерял бы значение x:Name
. Итак, как мне ссылаться на MyTextBrush
, сохраняя при этом свойство x:Name
для кисти в этом конкретном шаблоне управления?
Благодарим за помощь.
Почему WPF требует x: Имя на кисти? Обычно не требуется имя: ссылаетесь ли вы на него с помощью триггера или анимации или кода или что-то еще? Если бы вы могли сказать, что это такое и что вы хотите сделать с кистью? – itowlson
Это меня удивило. Управление календарями WPF (WPF Toolkit, июнь 2009 г.) немного взломан.Цвет текста календаря жестко закодирован в трех разных шаблонах управления, некоторые вещи, которые обычно выполняются в шаблоне управления, выполняются в коде и т. Д. Когда код пахнет, он действительно воняет. –
Я думаю, что причина, по которой они это сделали, - это то, что вы не можете легко оживить что-то в ресурсном словаре, поэтому они должны были испечь «TextColor» в – Schneider