Como mover minha vinculação de dados bidirecional de Code-Behind para XAML

Relativamente novo no WFP e C # (programador PHP de longa data) ...

Eu configurei com êxito a ligação de dados 2-WAY entre uma TextBox e uma propriedade de um objeto. Consegui estabelecer a ligação no Code-Behind, mas não no XAML.

Gostaria de aprender como fazer a ligação no XAML. Ou seja, no exemplo abaixo, como mover a linhamyTestPanel.DataContext = CURRENT_NETWORK; do Code-Behind ao XAML?

Eu olhei para tutoriais, exemplos, etc., mas nenhum ajudou ... Eles parecem querer que eu ligue o TextBox (ou objeto pai) a uma CLASS, não a um OBJECT. Alguns exemplos sugerem a ligação a uma classe com construtores adequados. Mas eu não quero fazer isso. Eu quero vincular a um objeto existente que pode ter existido por algum tempo. Eu posso fazer isso muito bem no Code-Behind ... Mas como fazer isso no XAML?

Aqui está o meu código por trás:

namespace net
{
    public class network
    {
        public int ID { get; set; }   // Property bound to TextBox
    }

   public partial class MainWindow : Window
   {
        network CURRENT_NETWORK = new network();   // My OBJECT (which could have been around for a while)

        public MainWindow()
        {
            InitializeComponent();

            CURRENT_NETWORK.ID = 123;   // The object gets set up...

            // ** Below is the line I want to learn how to move to XAML **
            myTestPanel.DataContext = CURRENT_NETWORK;  // <- CRITICAL LINE
        }
    }
}

e aqui está um trecho do XAML:

<Window x:Class="net.MainWindow"
    // some lines omitted
    xmlns:local="clr-namespace:net"
>

<DockPanel Name="myTestPanel" >
    <TextBox Text="{Binding Path=ID, Mode=TwoWay}"></TextBox>
</DockPanel>

A ligação bidirecional funciona como um sonho :) Eu posso ver no TextBox o valor na propriedade ID do objeto e, inversamente, se eu editar o número no TextBox, o objeto será modificado corretamente. (Observei que com um botão exibindo uma caixa de mensagem, não mostrada no meu snippet de código.)

MAS como mover essa ligação crítica entre TextBox e EXISTING OBJECT (ou seja, a linhamyTestPanel.DataContext = CURRENT_NETWORK;) do Code-Behind ao XAML?OBRIGADO!

PS: por que eu quero fazer a ligação no XAML? Parcialmenteapenas para aprender, e em parte porque acho que seria mais elegante / legível, já que o XAML já contém o nome da propriedade. Ou seja, eu gostaria de fazer todas as ligações no XAML em vez de algumas delas e outras no Code-Behind.

questionAnswers(1)

yourAnswerToTheQuestion