メインページにいくつかのテキストボックスが表示されたポップアップがあります。今までキーボードの下のテキストボックスに焦点を当てると、キーボードはそれを見えなくしてしまいます。通常、テキストボックスがスライドして表示されます。私はなぜそれがここで起こっていないのか分からない。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>
、ここでそれを開くためのコードです:
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
これはまさにPeople Hubが連絡先の名前を変更するために行うことです。それはオフィスがしていることです。それが他のすべてのことです。あなたが開発者なら、適切なUXの考慮事項を何も与えずに、Metroの「革新的」を避けてください。メトロデザインの言語原則にあなたの意見を踏まなければ、他のアプリやOSとの一貫性を保つために努力してください。ユーザーは、Metroesqueアプリケーションの設計に失敗したため、アプリケーションを下降させます。ちょうど私の0.02 $。 – JustinAngel
私は地下鉄のガイドラインに従っていますが、私がやっていることは人々のハブや他のアプリが行うこととは異なります。私は、私が組み込まれているコントロールを使用している何かを "革新的"ではない。私を信じていない?ここでガイドラインのクリップがあります。「ログイン画面などの一時的なUIの場合は、Silverlightポップアップコントロールを使用できます...」http://msdn.microsoft.com/en-us/library/hh202911%28v=vs .92%29.aspx ...とにかく、キーボードをコードの代わりにxamlで作成して正しく動作させることができました。 – prak