0

問題自体がちょっと変なので、タイトルが変な場合は申し訳ありません。

Clientside に TextBlock と Slider コントロールがあります。

Slider は Textblock に {Binding} されています。

これは彼らのためのコードです -

 <TextBlock Text="{Binding Value}" x:Name="Name1Value" FontSize="25"/>
  <Slider   ValueChanged="slider_ValueChanged_1"  x:Name="slidervalve"  Value= "{Binding ElementName=Name1Value,Path=Text}"  StepFrequency="25"   />

ここで、Slider 値が変更されると、Slider はメソッド Slider_ValueChanged_1 を呼び出し、その値をサーバーに送信します。サーバーは値を受け入れ、新しい値をクライアントに送り返します。サーバーからのこの新しい値は、inotifypropertychanged が実装された observablecollection を介してテキストブロック ( x:Name="Name1Value") に設定されます。スライダーはテキストブロックに {Binding} されています。

1)クライアントのスライダーの値を初めて変更すると、サーバーは新しい値を受け入れて新しい値を返し、新しい値をテキストブロックに設定しています。2)サーバーの値を変更すると、値がテキストブロックで正しく更新され、スライダーの値がテキストブロックの値に変わります。

3)この最初のサイクルの後、サーバーの値を再度変更すると、クライアントのテキストブロックは更新されますが、スライダーはテキストブロックの値に変わりません

ただし、スライダーはテキストブロックにバインドされています。どうすればこれを解決できますか?

Edit1:参考までに、テキストブロックとスライダーは同じページにありますが、異なるスタックパネルにあります

4

1 に答える 1

0

SliderコントロールのプロパティValueの型はですがdoubleTextBlock.Textは文字列です。コンバーターなしでこれら 2 つをバインドすると、問題が発生します。を /view モデルにバインドSlider.ValueDataContext、通常はバインディングを確認する必要がありMode=TwoWayます。

于 2013-05-13T05:56:25.637 に答える