【问题标题】:Call page but nothing appears呼叫页面但没有出现
【发布时间】:2018-12-01 22:55:16
【问题描述】:

我又回到了 C# .net wfp 应用程序,

我有我的 MainWindows,当我尝试调用新页面时,wpf xaml 没有出现。

这是我的代码:

    public MainWindow()
    {
        InitializeComponent();
        StartingPage go = new StartingPage(/*NO PARAMS*/);
    }

public partial class StartingPage : Page
{
    public StartingPage()
    {
        InitializeComponent();
        MessageBox.Show("HELLO");

    }
  ...
}

所以,MessageBox 被调用,但我的 xaml 视图的内容没有出现...... (就是这样:

<Page x:Class="..."
                ...
         mc:Ignorable="d" 
  d:DesignHeight="600" d:DesignWidth="800"
  Title="StartingPage" ShowsNavigationUI="True">

      <Grid Background="{DynamicResource {x:Static SystemColors.MenuBarBrushKey}}">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition MinWidth="50" />
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <TextBox x:Name="txtName" Grid.Row="0" MinWidth="50" Margin="344,87,340.333,-35.667" Text="Welcome To TILKEE !&#xD;&#xA;" RenderTransformOrigin="1.293,1.602" Grid.ColumnSpan="3"/>
    <Button Content="Sign Up !&#xD;&#xA;" Grid.Row="0" Click="Button_Sign" Grid.ColumnSpan="3" Margin="211,199,211.333,-145.667"/>
    <TextBox x:Name="txtName_Copy" Grid.Row="0" MinWidth="50" Margin="372,277,371.333,-226.333" Text="  - Or -&#xA;" RenderTransformOrigin="1.293,1.602" Grid.ColumnSpan="3"/>
    <Button Content="Log in&#xA;" Grid.Row="0" Click="Button_Login" Grid.ColumnSpan="3" Margin="211,347,211.333,-291.333"/>
    <TextBlock Text="Enter Name :" Grid.Row="0" Grid.Column="0" />


</Grid>

)

【问题讨论】:

  • 尝试 Loaded 事件而不是构造函数
  • 哼,我是怎么做到的?
  • 试试this
  • 这告诉我 NavigationService.Navigate 需要“非静态字段需要对象引用”...想法?
  • @F4Ke 你已经在“go”变量中有这个对象了。

标签: c# wpf xaml


【解决方案1】:

尝试在主窗口中添加框架

 <Frame x:Name="frame1"></Frame>

关于后面的代码写这个

 frame1.NavigationService.Navigate(new StartingPage());

【讨论】:

    【解决方案2】:

    由于您已经通过创建对象初始化了 StartingPage,流程执行为

    • 读取 App.xaml 并读取 Startup 属性。 (默认为 MainWindow.xaml)

    • 默认构造函数在您创建对象的地方执行。

    • 你需要写在下一行

      go.Show();

    • 这将显示 StartingPage 页面

    • 显示后还会加载 MainWindow

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-02
      • 1970-01-01
      • 1970-01-01
      • 2014-12-08
      • 1970-01-01
      相关资源
      最近更新 更多