从我的网易博客移动过来。。。
做了个保存按钮,要弹出一个弹窗。这个弹出是自制的用canvas做的弹窗。原理是利用隐藏显示来弹出弹窗。代码如下:
显示效果:<Canvas Height="251" HorizontalAlignment="Left" Margin="18,39,0,0" Name="saveDlg" VerticalAlignment="Top" Width="432" Visibility="Collapsed"> <Rectangle Height="253" HorizontalAlignment="Left" Margin="18,126,0,0" Name="rectangle1" Stroke="Black" StrokeThickness="1" VerticalAlignment="Top" Width="427" Fill="#A8000000" Canvas.Top="-126" Canvas.Left="-18" /> <Button Content="确定" Height="90" HorizontalAlignment="Left" Margin="48,204,0,0" Name="saveBtn" VerticalAlignment="Top" Width="170" Canvas.Left="-15" Canvas.Top="-48" Click="saveBtn_Click"/> <Button Content="取消" Height="90" HorizontalAlignment="Left" Margin="251,204,0,0" Name="cancleBtn" VerticalAlignment="Top" Width="170" Canvas.Left="-12" Canvas.Top="-48" Click="cancleBtn_Click"/> <TextBlock Canvas.Left="68" Canvas.Top="22" Height="82" Name="textBlock1" Text="确定保存?" Width="328" FontSize="40"/> </Canvas>
可恨的是在点击保存后,inputscope就是不隐藏,挡住了按钮。。。。
研究了半天,发现TextBox没有啥lostFocus这类函数。为了inputscope隐藏,调用
OnBackKeyPress() ,感觉不靠谱。
最后发现最好的是让页面获得焦点。inputscope就会隐藏了。代码如下
Focus();//让页面获得焦点 //this.Focus();//准确写法。