點擊按鈕1之后,跳到一個page上,我想通過在page上添加一個button,點擊之后回到mainwindow,可是回去之后再點擊按鈕1就沒有任何反應了。我要怎么做才可以再次點擊按鈕1,還能調出page???剛學c#一會,懇請前輩們不吝賜教!
這是xaml的代碼
<Window
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" mc:Ignorable="d" x:Name="mw" x:Class="CnGTest1.MainWindow"
Title="test" Height="500" Width="800" WindowStartupLocation="CenterScreen">
<Grid x:Name="gr1" Background="#FFF6F6F6">
<Button x:Name="btn_flfj" Content="1" FontSize="30" HorizontalAlignment="Left" Margin="39,293,0,0" VerticalAlignment="Top" Width="160" Height="80" FontWeight="Bold" Click="btn1_Click"/>
<Button x:Name="btn_ccgl" Content="2" FontSize="30" Click="btn_ccgl_Click" HorizontalAlignment="Left" Margin="321,293,0,0" VerticalAlignment="Top" Width="160" Height="80" FontWeight="Bold"/>
<Button x:Name="btn_xxcx" Content="3" FontSize="30" Click="btn_xxcx_Click" HorizontalAlignment="Left" Margin="593,293,0,0" VerticalAlignment="Top" Width="160" Height="80" FontWeight="Bold"/>
<ContentControl x:Name="DetailPage" d:IsHidden="True"/>
<Frame x:Name="frmMain" d:IsHidden="True" />
</Grid>
</Window>
這是mainwindow的代碼
namespace CnGTest1
{
/// <summary>
/// MainWindow.xaml 的互動邏輯
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void btn1_Click(object sender, RoutedEventArgs e)
{
//Page p1 = new Page1();
//DetailPage.Content = new Frame()
//{
// Content = p1
//};
Page1 p1 = new Page1();
if (p1.Visibility == System .Windows.Visibility.Collapsed)
{
p1.Visibility = System.Windows.Visibility.Visible;
this.frmMain.Content = new Frame()
{
Content = p1
};
}
else
{
this.frmMain.Navigate(new Uri("BasicFunc/ClassifyandGrading.xaml", UriKind.Relative));
}
}
private void btn_ccgl_Click(object sender, RoutedEventArgs e)
{
this.frmMain.Navigate(new Uri("BasicFunc/InventoryManage.xaml", UriKind.Relative));
}
private void btn_xxcx_Click(object sender, RoutedEventArgs e)
{
this.frmMain.Navigate(new Uri("BasicFunc/InfoSearch.xaml", UriKind.Relative));
}
}
}
這是page的代碼
namespace CnGTest1
{
/// <summary>
/// Page1.xaml 的互動邏輯
/// </summary>
public partial class Page1 : Page
{
public Page1()
{
InitializeComponent();
}
private void btn2_Click(object sender, RoutedEventArgs e)
{
this.Visibility = System.Windows.Visibility.Collapsed;
}
}
uj5u.com熱心網友回復:
看你的意思是想隱藏page1 之后再顯示同一個page 但是 Page1 p1 = new Page1();這塊是new了一個新的uj5u.com熱心網友回復:
goback() gofaword()這幾個方法忘了
uj5u.com熱心網友回復:
每次都會創建一個p1,必須保證只有一個p1,宣告在事件外部,你的this.Visibility = System.Windows.Visibility.Collapsed; 才會有效。再次打開切換Visibility的值即可。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/155200.html
標籤:C#
