2013-03-27 3 views
3

Я хочу получить доступ к свойству, вложенному внутри шаблона управления стилем. Я знаю, что вы можете сделать это в коде:Установка свойства элемента управления ControlTemplate в XAML

GradientStop stop = (GradientStop)progressBar1.Template.FindName("gradStop", progressBar1); 
stop.Color = Colors.Black; 

Можно ли сделать то же самое, но в XAML? Например:

<ProgressBar Style="{StaticResource CustomProgressBar}" [???].Color="FF000000"/> 
+0

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

+0

DynamicResource, вероятно, ответ, да, если ControlTemplate построен правильно. Но если вы используете настраиваемый шаблон, почему вы пытаетесь это сделать? –

ответ

1

Можете ли вы использовать TemplateBinding?

<Style x:Key="MyStyle" TargetType="{x:Type ContentControl}"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type ContentControl}"> 
        <Border Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" Background="{TemplateBinding Background}" > 
         <ContentPresenter /> 
        </Border> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

Затем укажите связанные с шаблоном значения при применении стиля.

Смежные вопросы