我有一個自定義的依賴屬性,我想用它作爲數據觸發器。這裏是後面的代碼:在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