加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#UWP – 如何从另一个页面访问页面控件?

发布时间:2020-12-16 10:08:34 所属栏目:百科 来源:网络整理
导读:有没有办法从另一个页面访问页面控件.我在MainPage中有一些控件,我想从另一个包含列表视图的页面访问Mainpage Controls TitleTextBlock.我想在选择listview项时更改主页TitleTextBlock.Text. 我也尝试但TitleTextBlock.Text值不会改变.那有什么办法吗? Main
有没有办法从另一个页面访问页面控件.我在MainPage中有一些控件,我想从另一个包含列表视图的页面访问Mainpage Controls TitleTextBlock.我想在选择listview项时更改主页TitleTextBlock.Text.

我也尝试但TitleTextBlock.Text值不会改变.那有什么办法吗?

MainPage.xaml.cs中

public void ChangeTitle(string title)
{
   TitleTextBlock.Text = title;
   BackButton.Visibility = Visibility.Visible;
}

ContentPage.xaml.cs

private void ListView_ItemClick(object sender,ItemClickEventArgs e)
{
   var link = (Link)e.ClickedItem;
   this.Frame.Navigate(typeof(WebViewPage),link);

   MainPage p = new MainPage();
   p.ChangeTitle(link.Title);
}

更新
我解决了这个问题,几乎没有变化
MainPage.xaml.cs中

public static TextBlock HeaderTitleTextBlock { get; set; }
 public static Button HeaderBackButton { get; set; }

 public MainPage()
   {
      this.InitializeComponent();
      HeaderTitleTextBlock = TitleTextBlock;
      HeaderBackButton = BackButton;

   }

ContentPage.xaml.cs

MainPage.HeaderTitleTextBlock.Text = link.Title;
MainPage.HeaderBackButton.Visibility = Visibility.Visible;

解决方法

您还可以使用x:FieldModifier属性使控件显示为公共(这是WPF的默认行为):

<TextBlock x:FieldModifier="public" x:Name="MyTextBlock" />

这将使控件公开,并且可以从其他类访问它.

我写了一篇关于此的短篇博文:http://blog.mzikmund.com/2017/06/modifying-xaml-field-visibility/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读