Wszystkie te odpowiedzi są dobre, jeśli chcesz przestrzegać dobrych konwencji, ale OP chciał czegoś prostego , czego też chciałem, zamiast zajmować się wzorcami projektowymi GUI. Jeśli wszystko, co chcesz zrobić, to mieć ciąg w podstawowej aplikacji GUI, możesz aktualizować ad-hoc bez niczego szczególnego, możesz po prostu uzyskać do niego dostęp bezpośrednio w źródle C #.
Załóżmy, że masz naprawdę podstawową aplikację WPF MainWindow XAML, taką jak ta,
<Window x:Class="MyWPFApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:MyWPFApp"
mc:Ignorable="d"
Title="MainWindow"
Height="200"
Width="400"
Background="White" >
<Grid>
<TextBlock x:Name="textBlock"
Text=".."
HorizontalAlignment="Center"
VerticalAlignment="Top"
FontWeight="Bold"
FontFamily="Helvetica"
FontSize="16"
Foreground="Blue" Margin="0,10,0,0"
/>
<Button x:Name="Find_Kilroy"
Content="Poke Kilroy"
Click="Button_Click_Poke_Kilroy"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontFamily="Helvetica"
FontWeight="Bold"
FontSize="14"
Width="280"
/>
</Grid>
</Window>
To będzie wyglądać mniej więcej tak:
W źródle MainWindow XAML jest, można mieć coś takiego, gdzie wszystko robimy na zmianę wartości bezpośrednio poprzez textBlock.Text
„s get
/ set
funkcjonalność:
using System.Windows;
namespace MyWPFApp
{
public partial class MainWindow : Window
{
public MainWindow() { InitializeComponent(); }
private void Button_Click_Poke_Kilroy(object sender, RoutedEventArgs e)
{
textBlock.Text = " \\|||/\r\n" +
" (o o) \r\n" +
"----ooO- (_) -Ooo----";
}
}
}
Następnie, gdy uruchomisz zdarzenie kliknięcia, klikając przycisk, voila! Pojawia się Kilroy :)