好吧,在我的 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 文件中都有一组文本框。
连接.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 组件的值?
请帮忙 :)