wpf自定义控件,自定义触发事件,比如,我自定义的控件中有个button按钮!见详细说明

wpf自定义控件,自定义触发事件,比如,我自定义的控件中有个button按钮!见详细说明,第1张

  // 定义事件属性
  public static readonly RoutedEvent ClickRoutedEvent = EventManagerRegisterRoutedEvent("Click", RoutingStrategyBubble, typeof(ClickEventHandler), typeof(ControlName));
  
  [Description("点击时发生")]
        public event ClickEventHandler Click
        {
            add { AddHandler(ClickRoutedEvent, value); }
            remove { RemoveHandler(ClickRoutedEvent, value); }
        }
//触发点击事件,这里注册你控件上的那个点击按钮事件
void button_Click(object sender, RoutedEventArgs e)
{
    
            eRoutedEvent = ScrollChangedRoutedEvent;
            eSource = this;
            thisRaiseEvent(e);
}

楼主你好 由于你没有提供 准确的 运动时间 和 运动距离 所以 在这里 我只能给你提供一个思路,我的方法是在后台写C#代码通过相应的事件来触发。
首先引入命名空间 SYSTEMWINDOWSTHREADING
之后声明一个DISPATCHERTIMER,INTERVAL设置的短一点,之后在TIMER_TICK事件中对MARGIN属性进行 *** 作来修改BUTTON在布局中的位置,具体想写成什么样的匀速就看你自己的需求了。
希望我的回答能对你有帮助。

void btn_Click(object sender, RoutedEventArgs e) {
if (thisbtnFocusable == false)
{
thisbtnFocusable = true;
thisbtnFocus();
}
else
{
thisbtnFocusable = false;
}
}

没明白你什么意思,什么叫周围出现一个框里面放按钮?
你要是想在做某个动作以后才看到或看不到某些控件,建议你在xaml里把他们先全部画上去,然后初始化的时候把不想看到的控件隐藏掉,在某个 *** 作中再显示出来或者隐藏,这样避免在事件中添加控件造成混乱

  private void 最大化按钮(object sender, RoutedEventArgs e) {

          WindowState = (thisWindowState == WindowStateNormal WindowStateMaximized : WindowStateNormal);

      }

wpf的控件可以使用trigger(触发器)来更改控件不同状态下的显示。
例如你要设置鼠标按下时字体的大小
<StyleTriggers>
<Trigger Property="IsPressed" Value="True">
<Setter Property="FontSize" Value="20"/>
</Trigger>
</StyleTriggers>
按照你的目标,你首先要修改button的模板。在button的template里加
<Grid>
<Image Name="img1" Source="/WpfApplication1;component/Image/1jpg" Visibility="Visible"/>
<Image Name="img2" Source="/WpfApplication1;component/Image/2jpg" Visibility="Collapsed"/>
<Image Name="img3" Source="/WpfApplication1;component/Image/3jpg" Visibility="Collapsed"/>
</Grid>
然后修改相应的trigger即可。
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="img1" Property="Visibility" Value="Collapsed"/>
<Setter TargetName="img2" Property="Visibility" Value="Visible"/>
<Setter TargetName="img3" Property="Visibility" Value="Collapsed"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="img1" Property="Visibility" Value="Collapsed"/>
<Setter TargetName="img2" Property="Visibility" Value="Collapsed"/>
<Setter TargetName="img3" Property="Visibility" Value="Visible"/>
</Trigger>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13389695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-26
下一篇 2023-07-26

发表评论

登录后才能评论

评论列表(0条)

保存