[英]How to change MainPage TextBlock text from UserControl?
在我的主頁上,我有一些TextBlock和UserControl:
<Page
x:Class="MyProject.MainPage">
<Grid>
<TextBlock x:Name="myTextBlock" Text="" />
<MyUserControl x:Name = "userControl" />
</Grid>
</Page>
如何從userControl類訪問myTextBlock並更改其文本?
由於您沒有嘗試綁定它們,因此應該為userControl提供一種訪問該TextBlock的方法。 最簡單的方法是在UserControl中使用公共TextBlock屬性,然后使用TextBlock在xaml或后面的代碼中設置此屬性。
之后,您可以輕松地在UserControl內部的屬性中獲取TextBlock Text。
另一個選擇是使用UserControl的Parnt屬性並嘗試將所有同級子級保留在那里,然后選擇所需的子級。
感謝您的回答,但我決定使用委托和事件,並做了如下操作:
在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.