鼠标悬停时,转换器似乎始终无法触发

时间:2012-03-06 20:42:08

标签: c# wpf triggers wpf-controls datatrigger

<Style TargetType="{x:Type dxg:GroupColumnSummaryControl}">
                            <Style.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter Property="Background">
                                    <Setter.Value>
                                        <Binding Converter="{StaticResource c}"/>
                                    </Setter.Value>
                                </Setter>
                            </Trigger>.

这里的代码有什么问题。当我做鼠标时,我的转换器似乎没有发射。 如果我删除转换器并将值指定为红色,我可以看到颜色。

这完全没问题

<Style TargetType="{x:Type dxg:GroupColumnSummaryControl}">
                            <Style.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter Property="Background" Value="Red">
                                </Setter>
                            </Trigger>

1 个答案:

答案 0 :(得分:0)

这对我有用:(我使用了RichTextBox)

<Window.Resources>
    <my:ColorConverter x:Key="colorConverter" />
    <Style TargetType="RichTextBox">
    <Style.Triggers>            
        <Trigger Property="IsMouseOver" Value="True">                    
              <Setter Property="Background">
                <Setter.Value>
                        <Binding Converter="{StaticResource colorConverter}"/>
                </Setter.Value>
            </Setter>
        </Trigger>
    </Style.Triggers>
</Style> 
</Window.Resources> 

这是转换器:

public class ColorConverter : IValueConverter
{

    public object Convert(object value, Type targetType,
        object parameter, CultureInfo culture)
    {      
        return new SolidColorBrush(Colors.Red);
    }

    public object ConvertBack(object value, Type targetType,
        object parameter, CultureInfo culture)
    {
        return null;
    }
}