テキストの長さをバッファーとして取得するイベント onchange を持つテキスト ボックスがあります。私が呼び出したコールバック関数内で、MessageCallback
このバッファをパラメータとして送信したいと考えています。ただし、別のスレッドで呼び出されているメソッド内でパラメーターが渡されるため、バッファーのプロパティは使用できません。どうすればこれを回避できますか?
私がやろうとしていることを想像するために、ここに私のコードのスニペットがあります:
private int buflen = 1500;
private int Buflen
{
get { return this.buflen; }
set { this.buflen = value; }
}
private void MessageCallBack(IAsyncResult ar)
{
//this.Buflen = textMessage.Text.ToString().Length;
//MessageBox.Show(this.buflen.ToString());
try
{
this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new ThreadStart(() =>
{
EndPoint epRemote = new IPEndPoint(IPAddress.Parse(textRemoteIp.Text), Convert.ToInt32(textRemotePort.Text));
MessageBox.Show(this.Buflen.ToString()); // returns 0 ?
int size = sck.EndReceiveFrom(ar, ref epRemote);
...
private void textMessage_TextChanged_1(object sender, TextChangedEventArgs e)
{
this.Buflen = textMessage.Text.Length;
MessageBox.Show(Buflen.ToString());
}
だから私が求めているのはBuflen
、新しく作成されたスレッド内でプロパティを表示する方法です?