XAML和c#中的文本块/文本框
本文关键字:文本 XAML | 更新日期: 2023-09-27 18:08:40
我是一个完全的"周末战士"编程,所以请对我温柔点…
我想实现一个简单的任务,我在普通c# (TextBox)中没有问题。Text = "Something";)
我在XAML中有一个文本框和一个文本块,我想从c#中填充它们,简单得很-运行web应用程序并从c#代码中提取预定义的字符串。我已经找了2天了,找不到一个直接的答案。我不想要任何触发器(按钮),只是用c#字符串填充加载时的文本框。一个简单的XAML和c#代码示例将非常感谢!
欢呼,
莎莎
不确定我是否理解了你的问题…
<!--xaml-->
<TextBox x:Name="txtMyTextBox"/>
// C#
// Window constructor
public MyWindow()
{
InitializeComponent();
txtMyTextBox.Text = "Something";
}
实现您尝试实现的一个简单方法(如果我理解正确的话)是将UI元素添加到您的窗口并为每个元素设置一个Name
。这样,您就可以在代码隐藏中访问它们,如下所示。
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">
<Grid>
<TextBox Name="TextBox1" HorizontalAlignment="Left" Height="23" Margin="37,37,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120"/>
<TextBlock Name="TextBlock1" HorizontalAlignment="Left" Margin="48,100,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Height="103" Width="239"/>
</Grid>
</Window>
当然还有更"精致"的方法来实现同样的目的,一旦你在xaml中命名了你的UI元素,你就可以像在代码后面的其他对象实例一样访问它们。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
TextBox1.Text = "Hello TextBox1!";
TextBlock1.Text = "Hello TextBlock1!";
}
}
}