2 alexsun6 alexsun6 于 2014.09.26 14:35 提问

用C#怎样实现windows的开始按钮

利用C#实现类似windows的开始按钮,即按一下弹出,在按一下收回,按空白区域弹出的界面也可收回。最好利用WPF的popup实现。我目前无法实现当界面已弹出后,再按一下让界面收回。

3个回答

alexsun6
alexsun6   2014.09.26 14:36

popup定义代码
PlacementTarget="{Binding ElementName=BottomGrid}"
StaysOpen="False"
Name="ArchiveButtonPopup"
Closed="IsShowClosed"
IsOpen="{Binding IsChecked, ElementName=ArchiveButton, Mode=OneWay}">

prism:RegionManager.RegionName="ArchivingJobMonitorRegion" />

alexsun6
alexsun6   2014.09.26 14:37

按钮定义
Name="ArchiveButton">
<Image Source="icons/状态栏-归档.png"
Stretch="Fill"
Width="64"
Height="64"
Name="ArchiveImage"
ToolTip="归档"
MouseLeftButtonDown="PullMouseDown"

MouseLeftButtonUp="PushMouseUp"/>

alexsun6
alexsun6   2014.09.26 14:39

private bool isShowClosed = true;
private bool isUnchenked = false; //鼠标是否在下拉框没有弹出的时候按下
private void IsShowClosed(object sender, EventArgs e)
{
isShowClosed = true;
}
private void PullMouseDown(object sender, MouseButtonEventArgs e)
{
if (isShowClosed)
{
isUnchenked = true;
}
}
private void PushMouseUp(object sender, MouseButtonEventArgs e)
{
if (isUnchenked)
{
isUnchenked = false;
isShowClosed = false;
ArchiveButtonPopup.IsOpen = true;
}
}
全部代码就这三块,现在就是按下按钮界面弹出后,在按空白区域,界面收回。但再次按下按钮,界面无法弹出。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!