文字を入力するためのダイアログボックスを作成してみます。
プロジェクトの作成
cd (mkdir NoXAML12)
dotnet new wpf -f net8.0
rm *.xaml
rm MainWindow.xaml.cs
ソースコード
ファイル名:NoXAML12.csproj
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net8.0-windows</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
    <UseWPF>true</UseWPF>
    <StartupObject>NoXAML12.App</StartupObject>
  </PropertyGroup>
</Project>
ファイル名:App.xaml.cs
using System.Windows;
namespace NoXAML12;
public partial class App : Application
{
    [STAThread]
    public static void Main()
    {
        var app = new App();
        var window = new MainWindow();
        app.Run(window);
    }
}
ファイル名:MainWindow.cs
using System.Windows;
using System.Windows.Controls;
namespace NoXAML12;
public class MainWindow : Window
{
    public MainWindow()
    {
        Title = "入力ダイアログテスト";
        Width = 400;
        Height = 200;
        var button = new Button
        {
            Content = "名前を入力",
            Width = 120,
            Height = 30,
            HorizontalAlignment = HorizontalAlignment.Center,
            VerticalAlignment = VerticalAlignment.Center
        };
        button.Click += (_, _) =>
        {
            string? input = ShowInputDialog("あなたの名前を入力してください:");
            if (!string.IsNullOrWhiteSpace(input))
            {
                MessageBox.Show($"こんにちは、{input}さん!");
            }
        };
        Content = button;
    }
    public static string? ShowInputDialog(string prompt)
    {
        var window = new Window
        {
            Title = "入力",
            Width = 300,
            Height = 120,
            WindowStartupLocation = WindowStartupLocation.CenterOwner,
            ResizeMode = ResizeMode.NoResize,
            WindowStyle = WindowStyle.ToolWindow,
            Owner = Application.Current?.MainWindow
        };
        var stack = new StackPanel { Margin = new Thickness(10) };
        var label = new TextBlock { Text = prompt };
        var textBox = new TextBox { Margin = new Thickness(0, 5, 0, 5) };
        var button = new Button
        {
            Content = "OK",
            IsDefault = true,
            Width = 60,
            HorizontalAlignment = HorizontalAlignment.Right
        };
        button.Click += (_, _) => window.DialogResult = true;
        stack.Children.Add(label);
        stack.Children.Add(textBox);
        stack.Children.Add(button);
        window.Content = stack;
        bool? result = window.ShowDialog();
        return result == true ? textBox.Text : null;
    }
}
実行
dotnet run
・「名前を入力」のボタンを押す。

・1行入力のダイアログボックスが表示されるので入力する。

・入力した文字列が反映されたメッセージボックスが表示される。

  
  
  
  

コメント
これじゃWinformと変わんないな(笑)
動的生成で作るときにこういうの書いたりするけど
View部分をXAML抜きで書くと、ほとんどWinformになりますね。サクッと書けて、これはこれで良いのではないかと思います。