0
我有一个弹出窗口,在MainPage上打开几个文本框。当您将注意力集中在较低的文本框时,键盘会将其遮挡住。通常文本框滑入视图。我不知道为什么这里没有发生。wp7弹出窗口阻止弹出文本框
请帮忙!
<UserControl x:Class="Controls.EditControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:SampleData="clr-namespace:SampleData"
mc:Ignorable="d"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
Height="800" Width="480"
d:DataContext="{d:DesignData ../SampleData/sampleEditPopup.xaml}">
<Grid x:Name="LayoutRoot" Background="#FF000000" Opacity="0.995">
<StackPanel Margin="0,20,0,0" Orientation="Horizontal" VerticalAlignment="Top">
<TextBlock TextWrapping="Wrap" Text="Name" HorizontalAlignment="Left" Height="26" Margin="15,10,0,10" Width="110" TextAlignment="Right"/>
<TextBox x:Name="tb_name"
TextWrapping="Wrap"
Width="340" Height="75"
Margin="10,13,15,12"
InputScope="Text" MaxLength="1000"
Text="{Binding Title, Mode=TwoWay}"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,150,0,0" VerticalAlignment="Top">
<TextBlock TextWrapping="Wrap" Text="Description" HorizontalAlignment="Left" Height="26" Margin="15,40,0,10" Width="110" VerticalAlignment="Top" TextAlignment="Right"/>
<TextBox x:Name="tb_description"
TextWrapping="Wrap"
Width="340" Height="254"
Margin="10,13,15,12"
InputScope="Text" MaxLength="1000"
Text="{Binding Description, Mode=TwoWay}"/>
</StackPanel>
</Grid>
,这里是打开它的代码:从UX看来,我会大力推荐反对任何有部分弹出/覆盖有
EditControl ec = new EditControl();
ec.Title = cm.Title;
ec.Description = cm.Description;
//sets appbar icons for accepting values
setEditIcons();
Popup edit = new Popup() { Child = ec, Tag = this };
edit.Closed += new EventHandler(edit_Closed);
edit.IsOpen = true;
我明白你的观点。但导航到另一个页面,以改变一个对象的名称和描述看起来像矫枉过正。我已经处理了所有其他条件。如果我导航到另一个页面,那么我不得不担心将需要的对象和值传递给该页面,再加上当我回来时,我必须确保显示正确的信息。也许这是我唯一的选择,但似乎有点荒谬。 – prak 2012-02-18 23:39:53
这就是People Hub为重命名联系人所做的事,办公室就是这样做的,这就是其他所有事情所做的。如果您是开发人员,请不要在提供适当UX用户注意的情况下在Metro中“创新”。除非您已将您的意见置于地铁设计语言原则之中,否则应争取与其他应用程序和操作系统保持一致。用户会因为未能设计Metroesque应用程序而降低您的应用程序。只是我的0.02美元。 – JustinAngel 2012-02-19 00:11:18
我已经通过了地铁指导方针,而且我所做的与人群中心和其他应用程序所做的不同。我不是“创新”任何我使用的内置控制器。不相信我?这里是来自指南的剪辑“对于临时UI,例如登录屏幕,您可以使用Silverlight Popup控件...”http://msdn.microsoft.com/en-us/library/hh202911%28v=vs .92%29.aspx ...无论如何,我能够通过在xaml中创建而不是在后面的代码来使键盘正常工作。 – prak 2012-02-19 03:00:26