如何解决获取 DataTriggers 以更改属性的问题
我已经看了无数个关于这个问题的答案,到目前为止没有任何成功。我有一个自己的普通 UserControl,它只是定义了一对名为 SetText 和 SetBackground 的新依赖属性。两者都按预期工作,但在此示例中实际仅使用了 SetText。
<Grid Height="25" Width="200">
<TextBlock x:Name="tbTest">
</TextBlock>
</Grid>
我已将此用户控件放置在页面上。
这个用户控件被放置在另一个页面上。代码如下:
<Grid Width="200" Height="25">
<views:DependencyUserControl1
x:Name="tester"
Width="200"
Height="25"
SetText="Hello world"
BorderBrush="Magenta"
BorderThickness="2">
<views:DependencyUserControl1.Style>
<Style TargetType="views:DependencyUserControl1">
<Style.Triggers>
<!--So,we are listening for the Btn1(Below) Mouseover,& then these (TextBlock) Setters
are implemented but the Button's Color changes relies on the Buttons
code listener,so in this case Btn2 -->
<DataTrigger Binding="{Binding ElementName=SliderValue,Path=IsMouseOver}" Value="True">
<Setter Property="views:DependencyUserControl1.Background" Value="Blue" />
<Setter Property="views:DependencyUserControl1.Foreground" Value="White" />
<Setter Property="views:DependencyUserControl1.FontWeight" Value="Heavy" />
<Setter Property="views:DependencyUserControl1.HorizontalContentAlignment" Value="Center" />
</DataTrigger>
<!--<DataTrigger Binding="{Binding ElementName=TxtBlock2,Path=IsMouseOver}" Value="True">
<Setter Property="Background" Value="Magenta" />
<Setter Property="Foreground" Value="Black" />
<Setter Property="FontWeight" Value="Bold" />
</DataTrigger>-->
</Style.Triggers>
</Style>
</views:DependencyUserControl1.Style>
<!--Style="{StaticResource txtblk1}"-->
</views:DependencyUserControl1>
</Grid>
我想要做的就是在指定的控件为“MousedOver”时更改 DataTrigger 部分中显示的 4 个属性。触发器按预期命中,并且设置器都按定义工作,但是如果我之前在控件中定义了这些属性中的任何一个,我的问题就会出现。例如,我在 Controls 主属性设置部分添加了一个 Background = Magenta",然后在触发触发器时该属性不会更改。这同样适用于我想通过触发器更改的任何其他属性,它们不能事先声明。
我觉得肯定有一种简单的方法可以让编码器指定任何控件的基本属性,但仍然有像这样的触发器覆盖它们?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。