gpt4 book ai didi

.net - WPF触发器更改父属性

转载 作者:行者123 更新时间:2023-12-03 17:49:36 24 4
gpt4 key购买 nike

我想覆盖元素触发器,因此,当单击文本框时,它会更改父边框的属性。

但是无法识别父目标名称。这是代码示例:

   <Style x:Key="customstyle" TargetType="{x:Type local:customcontrol}">
<Setter Property="Background" Value="{StaticResource DownGradientBrush}"/>
<Setter Property="BorderBrush" Value="{StaticResource DownGradientBorder}"/>
<Setter Property="Foreground" Value="{StaticResource TextBoxForeground}"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:customcontrol}">
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="15"/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0"
Grid.RowSpan="2"
HorizontalAlignment="Stretch">
<TextBox x:Name="TextBox"
Grid.Column="0"
Grid.RowSpan="2"
Text="{Binding RelativeSource={x:Static RelativeSource.TemplatedParent}, Path=Value}"
Width="Auto"
Height="Auto">
<TextBox.Style>
<Style BasedOn="{StaticResource StyleTextBox}" TargetType="{x:Type TextBox}">
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter TargetName="Bd"
Property="Background"
Value="{StaticResource CustomGradientBorder}" />
</Trigger>
<Trigger Property="IsFocused" Value="True" />
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
</Border>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter TargetName="Bd" Property="BorderBrush" Value="{StaticResource CustomGradientBorder}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

最佳答案

像这样改变它:

<ControlTemplate.Triggers>
<Trigger Property="IsFocused" Value="True" SourceName="TextBox">
<Setter TargetName="Bd" Property="BorderBrush" Value="{StaticResource CustomGradientBorder}" />
</Trigger>
</ControlTemplate.Triggers>

关于.net - WPF触发器更改父属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1716677/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com