下面用 很简单的方法实现siverlight 鼠标出现与离开 作用块出现与隐藏
(当初本写悬浮按钮,查找很多资料都得不到效果,故自己研究琢磨,靠小聪明整个,特此留个纪念)
上效果图先:
1.进入初始界面:(顶部是作用块,左侧是检测作用 块事件,用文本记录)
2.鼠标移动悬浮窗体处:(作用块放大)
3.鼠标点击按钮:(左侧文件变化 )
4.鼠标移动 :(顶部块隐藏,遗留一部分,方便操作)
5.当鼠标再次移动到该绿色顶部块,块仍会出现
下面附上代码:
xaml页面:
<Grid x:Name="LayoutRoot" >
<StackPanel Orientation="Vertical" >
<StackPanel x:Name="test" Orientation="Horizontal" VerticalAlignment="Bottom" MaxHeight="55" MaxWidth="300"
HorizontalAlignment="Center" MouseMove="test_MouseMove" Background="Green" MouseLeave="test_MouseLeave">
<Button x:Name="test1" Content="悬浮窗体1" Click="Button_Click" Margin="3,0,3,0" />
<Button x:Name="test2" Content="悬浮窗体2" Margin="0,0,3,0" Click="Button_Click" />
<Button x:Name="test3" Content="悬浮窗体3" Margin="0,0,3,0" Click="Button_Click" />
</StackPanel>
<StackPanel>
<TextBlock>当前选择:</TextBlock>
<TextBlock x:Name="dome">asdasd</TextBlock>
</StackPanel>
</StackPanel>
</Grid>
后台代码:
private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
{
this.dome.Text = "yuanyuankkkk";
}
private void test_MouseMove(object sender, MouseEventArgs e)
{
this.test.Height = 55;
this.test.Width = 300;
this.test1.Height = 55;
this.test2.Height = 55;
this.test3.Height = 55;
}
private void test_MouseLeave(object sender, MouseEventArgs e)
{
this.test.Height = 10;
this.test.Width = 100;
this.test1.Height = 0;
this.test2.Height = 0;
this.test3.Height = 0;
}
此致代码付完,实现原理很简单 ,即通过设计控件布局大小,之前尝试过.Visibility属性可见不可见,最后得不到想要效果,各位也可以尝试下,也可以用窗口页面,例:ChildWindow1 fw = new ChildWindow1(); fw.Show();