VS的WPF的ComboBox绑定的数据源,怎么通过使用静态变量一个页面的数据改变,其他页面绑定同样数据源源的控件数据也改变
时间: 2024-03-25 11:37:24 浏览: 118
在WPF中,可以通过静态变量来实现一个页面的数据改变,其他页面绑定同样数据源的控件数据也改变。
以下是一个示例代码片段:
```csharp
public static ObservableCollection<string> ComboBoxDataSource = new ObservableCollection<string>();
// 在页面初始化时绑定数据源
private void Window_Loaded(object sender, RoutedEventArgs e)
{
comboBox.ItemsSource = ComboBoxDataSource;
}
// 在其他页面中使用相同的数据源
private void Window_Loaded(object sender, RoutedEventArgs e)
{
comboBox.ItemsSource = MainWindow.ComboBoxDataSource;
}
// 在任何一个页面中更改数据源
private void Button_Click(object sender, RoutedEventArgs e)
{
ComboBoxDataSource.Add("New Item");
// 数据源已更改,所有绑定该数据源的控件将显示更新后的数据
}
```
在上面的示例中,`ComboBoxDataSource` 是一个静态变量,用于存储ComboBox的数据源。在每个页面初始化时,我们将 `ComboBoxDataSource` 赋值给 ComboBox 的 `ItemsSource` 属性。当 `ComboBoxDataSource` 更改时,所有绑定该数据源的控件都会自动更新。
需要注意的是,当使用静态变量来存储数据源时,需要确保在更改数据源时,所有绑定该数据源的控件都已经初始化并绑定了数据源。否则,更改数据源后,未初始化或未绑定数据源的控件将不会自动更新。
阅读全文