2012-03-06 61 views
0
<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> 
+0

后的转换代码。描述不发射的情况。 – Paparazzi 2012-03-06 20:52:21

+0

转换器只是返回solidredcolor画笔。我在转换器中有一个console.writeline来检查发射。它只是发射两次。一次当应用程序加载时,并在第一次鼠标悬停。 – GutterStink 2012-03-06 21:09:39

回答

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; 
    } 
} 
相关问题