首页 新闻 搜索 专区 学院

WPF popup用法

0
悬赏园豆:100 [已关闭问题] 关闭于 2011-06-30 08:21

想实现Popup在制定位置弹出的效果,不知道该怎么调方法,MSDN上看了也没解决,求高手指点

郭凯的主页 郭凯 | 初学一级 | 园豆:125
提问于:2011-05-25 18:43
< >
分享
所有回答(2)
4

1.Popup控件永远不会自动显示,为了显示Popup控件必须设置IsOpen属性。

2.默认情况下,Popup.StaysOen属性被设置为True,并且Popup控件会一直显示,直到显式地将IsOpen属性设置为False。如果将Popup.StaysOpen属性设置为False,当用户在其他地方单击鼠标时,Popup控件就会消失。

如果Popup控件的IsOpen属性设置为True时,通过Popup控件的PopupAnimation属性可以设置Popup控件的显示方式。

由于Popup控件不和任何控件相关联,所以无论在哪定义Popup标签都无所谓。

 

关联控件可以这样:

PlacementTarget="{Binding ElementName=button1}"   //绑定在哪个控件上,这里是和button1这个控件绑定
Placement="Bottom"                   //在控件的那个位置显示,这里是在button1这个控件下方显示

QQ的丢丢 | 园豆:75 (初学一级) | 2011-06-02 10:53
麻烦你能帮我把动画加上么?我写上动画根本不执行
popup.BeginAnimation(LeftProperty, new DoubleAnimation(0, 1200, TimeSpan.FromSeconds(5)));这个不执行...求指教一下..
支持(0) 反对(0) 郭凯 | 园豆:125 (初学一级) | 2011-06-02 10:56
这样试过吗?
DoubleAnimation widthAnimation = new DoubleAnimation(120, 300, TimeSpan.FromSeconds(5));
widthAnimation.RepeatBehavior = RepeatBehavior.Forever;
widthAnimation.AutoReverse = true;
popup.BeginAnimation(LeftProperty, widthAnimation);
支持(0) 反对(0) QQ的丢丢 | 园豆:75 (初学一级) | 2011-06-02 11:08
DoubleAnimation widthAnimation = new DoubleAnimation(0, 1200, TimeSpan.FromSeconds(5));
支持(0) 反对(0) QQ的丢丢 | 园豆:75 (初学一级) | 2011-06-02 11:09
2

//实例化对象

Popup pop = new Popup();

//pop里面生成的内容,本例是StackPannel中包括一个textbox

StackPanel panel = new StackPanel();
panel.Orientation = System.Windows.Controls.Orientation.Horizontal;
panel.HorizontalAlignment = HorizontalAlignment.Stretch;
panel.VerticalAlignment = VerticalAlignment.Top;
panel.Height = 100;
panel.Width = 480;
panel.Margin = new Thickness(0,150, 0, 0);
panel.VerticalAlignment = VerticalAlignment.Bottom;
panel.Background = Application.Current.Resources["PhoneAccentBrush"] as SolidColorBrush;

TextBox txbKeyword = new TextBox();
txbKeyword.Height = 100;
txbKeyword.Width = 380;
txbKeyword.FontSize = 40;
txbKeyword.Text = "测试TextBox";

//添加到LayoutRoot中

panel.Children.Add(txbKeyword);
pop.Child = panel;
this.LayoutRoot.Children.Add(pop);

//打开显示
pop.IsOpen = true;

NSDefaultRunLoopMode | 园豆:206 (菜鸟二级) | 2012-07-27 12:04

非常有用,解决大问题了!

支持(2) 反对(0) lunadmoon | 园豆:200 (初学一级) | 2012-08-20 14:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册