我有一个自定义的依赖属性,我想用它作为数据触发器。这里是后面的代码:在WPF中使用自定义依赖属性作为DataTrigger
public static readonly DependencyProperty BioinsulatorScannedProperty =
DependencyProperty.Register(
"BioinsulatorScanned",
typeof(bool),
typeof(DisposablesDisplay),
new FrameworkPropertyMetadata(false));
public bool BioinsulatorScanned
{
get
{
return (bool)GetValue(BioinsulatorScannedProperty);
}
set
{
SetValue(BioinsulatorScannedProperty, value);
}
}
我已经创建了一个样式和控件模板。我的目标是改变一些文字的颜色,当依赖道具设置为true ...
<Style x:Key="TreatEye" TargetType="Label">
<Setter Property="Foreground" Value="#d1d1d1" />
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="FontSize" Value="30" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Label">
<Canvas>
<TextBlock x:Name="bioinsulatorText"
Canvas.Left="21" Canvas.Top="33"
Text="Bioinsulator" />
<TextBlock Canvas.Left="21" Canvas.Top="70"
Text="KXL Kit" />
</Canvas>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding BioinsulatorScanned}"
Value="True">
<Setter TargetName="bioinsulatorText"
Property="Foreground" Value="Black" />
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
尽管依赖道具编程成功设置为true,这触发条件永远不会触发。这是一个真正的调试痛苦!
在此先感谢。
您定义了哪个对象的依赖属性? – 2010-01-04 21:02:24
我不知道我是否完全理解,但我试图使用ControlTemplate.Triggers部分中的依赖项属性。当这是真的,我需要在“bioinsulatorText”内的文字变黑。 – BabaBooey 2010-01-04 21:29:25