c# - 在 C#,UWP 中将字符串写入不同页面上的文本块
问题描述
如何TextBlock
在不同的页面上写入?
到目前为止,它仅适用TextBlocks
于同一页面。函数
在. 开启。_async
Page_1
TextBlock
Page_2
public async void Serial()
{
string rxBuffer;
//code
//code
//code
while (true)
{
textblock_DebugRx_Gas_live.Text = rxBuffer;
}
}
解决方案
在 C#,UWP 中将字符串写入不同页面上的文本块
如果两个页面同时显示在前台,如下所示。
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<StackPanel Margin="0,20,0,0" HorizontalAlignment="Center">
<Button Click="Button_Click" Content="Click" />
<TextBlock x:Name="Tbk" />
</StackPanel>
<Frame Grid.Row="1" VerticalAlignment="Center">
<local:TestPage />
</Frame>
</Grid>
您可以使用Messenger
将消息从原始页面发送到目标页面。
using GalaSoft.MvvmLight.Messaging;
private void Button_Click(object sender, RoutedEventArgs e)
{
var message = "Test";
Messenger.Default.Send<string,TestPage>(message);
Tbk.Text = message;
}
目标页面
public TestPage()
{
this.InitializeComponent();
this.Loaded += TestPage_Loaded;
}
private void TestPage_Loaded(object sender, RoutedEventArgs e)
{
Messenger.Default.Register<string>(this, (s) =>
{
MyTextBlock.Text = s;
});
}
推荐阅读
- sql-server - Docker SQL Server 2017 上的 Linux 连接问题
- javascript - React:SlickGrid 需要一个有效的容器,#myGrid 在 DOM 中不存在
- asp.net-core - 将表外键标题绑定到asp.net核心中的下拉列表中
- ionic-framework - ionic 4将数据从在另一个模态中打开的模态传回基本页面
- google-cloud-data-fusion - 如何在 CDAP (Datafusion) 中处理具有不同列的 CSV?
- wcf - 使用 WCF 启用 CORS
- ios - 无法在 swift 4 中使用 UIDocumentInteractionController 预览 .xlsx 文件
- jquery - 我可以隐藏网站中使用的 jquery 版本吗?
- angular - 组件数据在多个实例之间共享
- openssl - Azure 媒体服务 - FairPlay 配置显示 - 证书验证失败