wp7のグリッド(ホルダーと呼ばれる)の上に境界線を作成する方法は? 私が試したのは、グリッドをフルスクリーンに作成し、画面の上部に境界線を作成した後、デバッグすると境界線が表示されないことです。誰でもこれで私を助けることができますか?お疲れ様でした!
<Grid x:Name="BrowserHost" GotFocus="BrowserHost_GotFocus" Grid.RowSpan="2">
<StackPanel x:Name="Stack" Background="Transparent">
<Border x:Name="Border" Background="{StaticResource PhoneAccentBrush}">
<TextBox x:Name="UrlTextBox" KeyDown="UrlTextBox_KeyDown" Background="White" Margin="0,0,98,0">
</Border>
</StackPanel>
MainPage xaml.cs
public partial class MainPage : PhoneApplicationPage
{
private const int NumTabs = 4;
private int currentIndex;
private string[] urls = new string[NumTabs];
private WebBrowser[] browsers = new WebBrowser[NumTabs];
public MainPage()
{
InitializeComponent();
ShowTab(0);
}
private void ShowTab(int index)
{
this.currentIndex = index;
UrlTextBox.Text = this.urls[this.currentIndex] ?? "";
if (this.browsers[this.currentIndex] == null)
{
WebBrowser browser = new WebBrowser();
this.browsers[this.currentIndex] = browser;
BrowserHost.Children.Add(browser);
}
for (int i = 0; i < NumTabs; i++)
{
if (this.browsers[i] != null)
{
this.browsers[i].Visibility = i == this.currentIndex ? Visibility.Visible : Visibility.Collapsed;
}
}
}
private void UrlTextBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
Uri url;
if (Uri.TryCreate(UrlTextBox.Text, UriKind.Absolute, out url))
{
this.urls[this.currentIndex] = UrlTextBox.Text;
this.browsers[this.currentIndex].Navigate(url);
}
else
MessageBox.Show("Invalid url");
}
}
しかし、デバッグした後、境界線も UrlTextBox も表示されません。
画像:
BrowserHost グリッドには GotFocus イベントを使用しました。つまり、グリッド (BrowserHost) に触れると、UrlTextBox と境界線が折りたたまれている必要があります (私はこのことを取得しました)。そして、私が必要としているのは、Border と UrlTextBox が折りたたまれた後に、BrowserHost が全画面表示になることです。しかし、私にとってはそうではありません。下の画像をご覧ください。ユーザーが BrowserHost に触れたときに、BrowserHost を全画面表示にしたいと考えています。空きスペースを BrowserHost で埋めたい。