Sayfanın kendi kendine gitmesine izin verebiliriz. Özel bir kullanıcı denetiminizdeki bir olayı tanımlayın ve etkinliği ana sayfasından (sayfa) dinleyin.
Örnek olarak aşağıdaki atın:
- özel kullanıcı denetimi oluşturma ve test amaçlı üzerine bir düğme koydu.
- Test düğmesinin tıklama olayında, üst sayfa gezinmek için etkinliği kaldırın.
- Üst sayfada, UserControl olayını dinleyin ve Frame.Navigate öğesini çağırın.
MyControl en Xaml:
<UserControl
x:Class="App6.MyControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App6"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300"
d:DesignWidth="400">
<Grid>
<Button x:Name="testbtn" Margin="168,134,0,134" Click="testbtn_Click">test</Button>
</Grid>
</UserControl>
MyControl en CodeBehind:
public sealed partial class MyControl : UserControl
{
public delegate void MyEventHandler(object source, EventArgs e);
public event MyEventHandler OnNavigateParentReady;
public MyControl()
{
this.InitializeComponent();
}
private void testbtn_Click(object sender, RoutedEventArgs e)
{
OnNavigateParentReady(this, null);
}
}
gidin MainPage secondpage gerekenler: Geçerli Pencere adlı den Frame bir başvuru alabilir
public MainPage()
{
this.InitializeComponent();
myControl.OnNavigateParentReady += myControl_OnNavigateParentReady;
}
private void MyControl_OnNavigateParentReady(object source, EventArgs e)
{
Frame.Navigate(typeof(SecondPage));
}
Fantastic! Bunun için teşekkür ederim. Bir çekicilik gibi çalıştı. – kgyts
OnNavigateParentReady'de (boş, null) bir nullpointer alıyorum; – Evilunclebill
"Genel olay" ı "public static olayı" olarak değiştirmem gerekiyordu, böylece bu çözümü bir "GridView" içinde bir "GridView" içinde bir "GridView.ItemTemplate" içinde bir "DataTemplate" içinde bir "UserControl" içinde kullanabiliyordum Bir 'Sayfa' içinde ... Harika bir çözüm için teşekkürler. – dav1dsm1th