從我的網易部落格移動過來。。。
做了個儲存按鈕,要彈出一個彈窗。這個彈出是自製的用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();//準確寫法。