![](/img/trans.png)
[英]Dynamically Accessing MainPage controls in child UserControl's from codebehind in metro application?
[英]Accessing the MainPage from my UserControl
在MyUserControl.xaml.cs中
private void StartVideos()
{
foreach (Uri uri in _videos)
_playlist.Enqueue(uri);
fv.Visibility = Visibility.Collapsed;
fvWelcome.Visibility = Visibility.Collapsed;
mediaPlayer.Visibility = Visibility.Visible;
mediaPlayer.Source = _playlist.Dequeue();
mediaPlayer.Play();
}
在MainPage.xaml中
<RelativePanel x:Name="WelcomeRelativePanel" Background="#FF1F4E79" >
<TextBox x:Name="WelcomeText"
RelativePanel.AlignLeftWithPanel="True"
Margin="145,0,0,0"
Foreground="White"
FontFamily="Segoe UI"
IsReadOnly="True"
BorderBrush="#FF1F4E79"
BorderThickness="0"
HorizontalAlignment="Center" FontSize="84"
TextWrapping="Wrap" AcceptsReturn="True"
Background="#FF1F4E79"
/>
我該如何通過UserControl與MainPage進行交互
private void StartVideos()
{
.....
WelcomeRelativePanel.Visibility = Visibility.Collapsed;
}
我有一個在App.Xaml.cs中使用靜態變量的想法,任何人都可以提供示例或其他想法嗎?
我有這樣的問題,但是我需要從用戶控件更改TextBlock文本。
<Page
x:Class="MyProject.MainPage">
<Grid>
<TextBlock x:Name="myTextBlock" Text="" />
<MyUserControl x:Name = "userControl" />
</Grid>
</Page>
我做了這樣的事情,它的工作原理。
在MyUserControl中
private string myString;
public delegate void MyEventHandler(string a);
public event MyEventHandler MyPropertyChanged;
public MyUserControl()
{
this.MyPropertyChanged+= new MyEventHandler(HandlePropertyChanging);
}
private void HandleCreditsChanging(string a)
{
a = myString;
}
在主頁中:
public MainPage()
{
myUserControl.MyPropertyChanged += MyUserControl_MyPropertyChanged;
}
private void MyUserControl_MyPropertyChanged(string a)
{
myTextBlock.Text = a;
}
我相信它也會為您服務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.