-1
我的風格設置前景色:更改顏色在XAML中不起作用?
<Style x:Key="ValueStyle" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource SubHeadingFontStyle}">
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
**<Setter Property="v:DynamicProperties.ForegroundKey" Value="{Binding Color, Mode=OneWay, Converter={v:SignalColorToResourceKeyConverter}}" />**
</Style>
我有DataTemplete:
<DataTemplate DataType="{x:Type vs:NumericVisualizerElement}">
<TextBlock x:Name="AverageValue"
**Style="{StaticResource ValueStyle}"**
Text="{Binding Path=AverageValue, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" />
<DataTemplate.Triggers>
**<DataTrigger Binding="{Binding Path=Color}" Value="None">
<Setter Property="TextBlock.Foreground" Value="Red" />
</DataTrigger>**
</DataTemplate.Triggers>
</DataTemplate>
以V:SignalColorToResourceKeyConverter如果顏色爲 「無」,然後返回DependencyProperty.UnsetValue。但是當Color是None時,我想Foreground是紅色的。 當第一次加載顏色爲無時,則前景爲紅色,但是當我在運行時更改顏色時,則返回顏色爲無,前景不是紅色,即爲UnsetValue。如何解決它? 感謝您的幫助!
編輯1: 我定義枚舉SignalColor
public enum SignalColor
{
None,
Signal01A,
Signal02A,
Signal03A,
}
和方法在SignalColorToResourceKeyConverter.cs轉換:
public object Convert(object value, Type tagertType, object parameter, System.Globalization.CultureInfo culture)
{
var signalColor = (SignalColor) value;
switch (signalColor)
{
case SignalColor.None:
return DependencyProperty.UnsetValue;
case SignalColor.Signal01A:
return "Signal01ABrush";
case SignalColor.Signal01B:
return "Signal01BBrush";
}
}
我希望當我選擇的顏色是無,前景將覆蓋紅。我想在文件xaml中執行此操作。
我想這樣做在文件XAML。 – 2015-03-31 07:07:43