如何将 ContentView 添加到 Click 事件?

Posted

技术标签:

【中文标题】如何将 ContentView 添加到 Click 事件?【英文标题】:How to add a ContentView to a Click Event? 【发布时间】:2019-09-04 15:10:05 【问题描述】:

我的任务是创建一个程序,在主屏幕上显示两个按钮以及我的姓名和当前时间/日期。目标是一旦按下其中一个按钮就会出现一个段落,这将利用整个屏幕。到目前为止,我已经创建了带有标签和按钮的主页。但是,对于如何显示与单击的按钮相关的段落,我非常迷茫。我正在使用经验拟合的文本方式来充分利用屏幕。我创建了一个 FontCalc.Cs 页面并在我拥有所有代码的主页中添加了 onContentViewSizeChanged 方法。我不知道下一步该怎么做。到目前为止,这就是我在点击处理程序事件中的内容:

        passage1Button.Clicked += (sender, args) =>
        
            passage.Text = "So they began working together, each squadron leader commanding indivual pilots, " +
                           "Ender comanding the squadron leaders. They learned manyw ays of working together, " +
                           "as the simulator forced them to try different situations. Sometimes the simulator " +
                           "gave them a larger fleet to work with; Ender set them up then in three or four " +
                           "toons that consisted of three or four squadrons each. Sometimes the simulator gave " +
                           "them a single starship with its twelve fighters, and he chose three sqaudron leaders. ";

            ContentView contentView = new ContentView
            
                Content = passage
            ;
            contentView.SizeChanged += onContentViewSizeChanged;

它不会在按钮消失的同时显示段落,它只会冻结 android 模拟器和 UWP 本地计算机。

【问题讨论】:

【参考方案1】:

您可以在按钮单击时显示模式

        passage1Button.Clicked += (sender, args) =>
         
            var contentpage = new ShowTextPage("Passage text here, goes to page constructor where label is set to passed text");

            var page = new NavigationPage(contentpage);

            Navigation.PushModalAsync(page);
         

在 ShowTextPage 上,将 HasNavigationBar 设置为 false

【讨论】:

当我将鼠标悬停在新 NavigationPage 行中的 contentpage 上时,我收到一条错误消息。它说无法从“Lab12.ShowTextPage”转换为“Xamarin.Forms.Page” 我目前有三个文件。一个称为 FontCalc.cs,即 MainPage.xaml.cs 文件,以及我刚刚使用您的代码创建的一个。你能看一下我的全部代码吗?如果没有,我理解。我设法修复了错误,但是当我运行它并单击按钮时,我的模拟器冻结了。 如果您可以将代码发布给我们可以尝试解决问题的人 这是完整的任务:您的应用程序将允许用户显示您最喜欢的书(或电影)中的两段之一。显示的段落必须有效地使用屏幕(我们在第 4 章中学到的)来显示文本。用户将单击按钮以显示段落。因此,应用程序启动时必须显示两个按钮。当前日期和时间也将显示在主屏幕上。您的名字也会显示在主屏幕上。 meta.***.com/questions/334822/…

以上是关于如何将 ContentView 添加到 Click 事件?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 UIViews 添加到我的 contentView (AwakeFromNib)

是否不可能将子视图添加到我的 UITableViewCell 的 contentView 并使其宽度与 contentView 相等?

为了使模糊的 UIVibrancyEffect 起作用,我们是不是必须将其作为单独的视图添加到 UIBlurEffect 的 contentView 中?

使用功能swiftUI将视图添加到contentView不起作用

在单元格的 ContentView 之外添加视图

将子视图添加到 UITableViewCell contentView 的正确方法