鼠标事件在RadToolbar中无效

时间:2015-08-06 06:53:55

标签: c# wpf telerik mouseevent

我有一个带有两个按钮的radtoolbar,其中一个按钮有Mouse Enter事件,它改变了按钮的背景。但没有工作,按钮不会改变

问题是什么?

工具栏组件:

<telerik:RadToolBar x:Name="radToolbar" FocusManager.IsFocusScope="False" Height="30" Margin="0" VerticalAlignment="Top">
        <Button Content="Button" Margin="0,0,0,-2" Width="75"/>
        <telerik:RadButton x:Name="mybutton" Content="Button" Height="Auto" Margin="0,0,0,-2" Width="60" MouseEnter="mybutton_MouseEnter">

        </telerik:RadButton>
    </telerik:RadToolBar>

鼠标事件:

private void mybutton_MouseEnter(object sender, MouseEventArgs e)
    {
        this.mybutton.Background = new SolidColorBrush(Color.FromArgb(100, 20, 50, 200));
    }

1 个答案:

答案 0 :(得分:1)

RadToolBar有许多预定义的样式,可以包含在工具栏中的公共控件,覆盖对XAML中的样式或通过代码进行的任何显式更改。

说明此行为的一种戏剧性方法是使用对代码的此更改删除所有预定义样式:

<telerik:RadToolBar x:Name="radToolbar" FocusManager.IsFocusScope="False" Height="30" Margin="0" VerticalAlignment="Top">
    <telerik:RadToolBar.Resources>
        <Style TargetType="telerik:RadToolBar">
            <Setter Property="ItemContainerStyleSelector" Value="{x:Null}"/>
        </Style>
    </telerik:RadToolBar.Resources>
    <Button Content="Button" Margin="0,0,0,-2" Width="75"/>
    <telerik:RadButton x:Name="mybutton" Content="Button" Height="Auto" Margin="0,0,0,-2" Width="60" MouseEnter="mybutton_MouseEnter" >
     </telerik:RadButton>
</telerik:RadToolBar>

您的代码现在应该使用可能的副作用,即样式的其他部分需要自己添加(相当重要!)。

Telerik forum thread中讨论了将样式应用于RadBarTool中的控件的各种技巧,并在此处为Telerik SDK demo提供了一个链接。