zoukankan      html  css  js  c++  java
  • UIElement.IsMouseCaptured属性的应用

          一个只读属性,该值描述了此元素是否捕获到了鼠标,如果该值为true,则说明此元素捕获到了鼠标;否则,未捕获到(例如:当鼠标进入到一个Button的可视化范围之内,当Button按钮外观效果发生了变化时,则说明Button按钮捕获了鼠标,此时读取Button的IsMouseCaptured属性值,会得到true)。

    例子1:如果鼠标捕获发生在别处,则鼠标捕获设置到该元素。 如果元素捕获了鼠标,则通过使用 null 输入调用 Mouse.Capture 来清除鼠标捕获

    private void CaptureMouseCommandExecuted(object sender, ExecutedRoutedEventArgs e)
    {
        MessageBox.Show("Mouse Command");
        IInputElement target = Mouse.DirectlyOver;

        target = target as Control;
        if (target != null)
        {
            if (!target.IsMouseCaptured)
            {
                Mouse.Capture(target);
            }
            else
            {
                Mouse.Capture(null);
            }
        }
    }

    例子二:当Button按钮捕获到鼠标时,我们设置Rectangle的填充效果为press效果。

    <ControlTemplate TargetType="{x:Type Button}">
                                <Grid>
                                    <Rectangle x:Name="recOk" StrokeThickness="0">
                                        <Rectangle.Fill>
                                            <ImageBrush ImageSource="../Images/MessageBoxImg/Ok.png"/>
                                        </Rectangle.Fill>
                                    </Rectangle>
                                </Grid>
                                <ControlTemplate.Triggers>
                                    <Trigger Property="IsMouseCaptured" Value="True"><!--当Button按钮捕获到了鼠标,则Button.IsMouseCaptured==true;--当Button.IsMouseCaptured==true,则Button按钮捕获到了鼠标-->
                                        <Setter TargetName="recOk" Property="Fill">
                                            <Setter.Value>
                                                <ImageBrush ImageSource="../Images/MessageBoxImg/Ok_press.png"/>
                                            </Setter.Value>
                                        </Setter>
                                    </Trigger>
                                </ControlTemplate.Triggers>
                            </ControlTemplate>

  • 相关阅读:
    python之使用openpyxl从excel读取测试数据004
    python之编写HttpRequest工具类003
    python之cookies获取002
    OJ练习9——T20 valid parentheses
    OJ练习8——T19 remove nth node
    OJ练习7——T14 Longest Common Prefix
    OJ练习6——T8
    OJ练习5——T6
    OJ练习4——T7
    九度OJ-1351
  • 原文地址:https://www.cnblogs.com/changbaishan/p/3959840.html
Copyright © 2011-2022 走看看