1
У меня есть следующие ControlTemplate определены:WPF - Есть ли способ настроить тип элемента в триггере ControlTemplate?
<ControlTemplate x:Key="buttonTemplate" TargetType="{x:Type Button}">
<Border x:Name="buttonBorder">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="txtLabel" Grid.Column="0">
<ContentPresenter/>
</TextBlock>
<Canvas x:Name="reschedule" Grid.Column="1">
<Path x:Name="path1" ... />
<Path x:Name="path2" ... />
<Path x:Name="path3" ... />
<Path x:Name="path4" ... />
<Path x:Name="path5" ... />
<Path x:Name="path6" ... />
<Path x:Name="path7" ... />
<Path x:Name="path8" ... />
<Path x:Name="path9" ... />
<Path x:Name="path10" ... />
</Canvas>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="buttonBorder" Property="Background" Value="DarkGreen"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="buttonBorder" Property="Background" Value="DarkGray"/>
<Setter TargetName="txtLabel" Property="Foreground" Value="Gray"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
Сейчас по умолчанию TextBlock
Foreground
и Path
Fill
свойства на которые были установлены в White
. Когда кнопка отключена, я хочу установить эти свойства в Gray
. Прямо сейчас он работает для TextBlock
, и я могу заставить его работать для Path
s, нацеливая каждое их имя, но есть ли способ нацеливать все элементы Path
по типу? Что-то вроде:
<Setter TargetType="Path" Property="Fill" Value="Gray"/>
Я попытался добавить следующий триггер стиля Border
элемента, но он не работает:
<Border.Style>
<Style TargetType="Border">
<Style.Resources>
<Style TargetType="Path">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Fill" Value="Gray"/>
</Trigger>
</Style.Triggers>
</Style>
</Style.Resources>
</Style>
</Border.Style>
yes использовать в своем стиле 'TargetType =" {x: Type Path} ", это должно быть нацелено на все элементы типа' Path'. HTH – XAMlMAX
Кажется, что триггеры, не определенные в блоке стиля, не имеют свойства «TargetType» – mikelt21
в вопросе, у вас есть этот xaml '