私の WPF アプリケーションでは、約 5 つのタブを持つタブ コントロールを使用しています。各タブのビューは、ツール ボックスを介して追加するユーザー コントロールです。
メイン Xaml ファイル:
<Grid>
<TabControl Height="Auto" HorizontalAlignment="Stretch" Margin="0" Name="tabControl1" VerticalAlignment="Stretch" Width="Auto">
<TabItem Header="Device Control" Name="Connect">
<ScrollViewer Height="Auto" Name="scrollViewer1" Width="Auto">
<my:ConnectView Name="connectView1" />
</ScrollViewer>
</TabItem>
<TabItem Header="I2C">
<ScrollViewer Height="Auto" Name="scrollViewer2" Width="Auto">
<my1:I2CControlView Name="i2CControlView1" />
</ScrollViewer>
</TabItem>
<TabItem Header="Voltage">
<ScrollViewer Height="Auto" Name="scrollViewer3" Width="Auto">
<my2:VoltageView Name="voltageView1" />
</ScrollViewer>
</TabItem>
</TabControl>
</Grid>
各ビュー ie.e に気づきConnect
、ビュー、ビューモデル、I2C
およびVoltage
モデルクラスを持つユーザーコントロールである場合:)
これらの各ビューには、それぞれの xaml ファイルに一連のテキスト ボックスがあります。
Connect.xaml:
<Grid>
<Textbox Text="{Binding Box}", Name="hello" />
// Some more textboxes
</Grid>
I2c.xaml:
<Grid>
<Textbox Text="{Binding I2CBox}", Name="helI2c" />
// Some more textboxes
</Grid>
電圧.xaml:
<Grid>
<Textbox Text="{Binding VoltBox}", Name="heVoltllo" />
// Some more textboxes
</Grid>**
デフォルトでは、これらのテキストボックスのテキストを何らかの値に設定しています。ビューモデルクラスでそれぞれ「12」「13」「14」としましょう。私の主な要件は、タブを変更したときに更新されるように、各ユーザー コントロールに存在するこれらのテキスト ボックスのテキストを設定することです。
説明:
接続ビューが表示されているとしましょう: テキストボックスの値が 12 で、それを編集して 16 に変更します。[I2C] タブをクリックしてから [接続] タブに戻り、テキストボックスの値を初期値に更新します。すなわち12。
正確には、これらのメソッドはすべてのユーザー コントロール クラスに記述できる visibilitychanged() というメソッドで、タブが変更されるたびにこれらの Ui コンポーネントの値を設定できますか?
助けてください :)