Хорошо, так .. Я немного растерялся. Что у меня есть
Window1.xaml
просто комбинированный список, который выбирает различные среды
тогда у меня есть
который отображает данные в зависимости от среды
У меня есть среда по умолчанию, когда приложение загружается и отображает правильные данные.
Вопрос. Я хочу, чтобы данные Dashboards изменялись при выборе другой среды.
Я борюсь с этим уже целый день, и я никуда не доберусь ... Любая помощь будет признательна ...
Код до сих пор:
EnvironmentView.xaml
<UserControl.DataContext>
<vm:EnvironmentViewModel />
</UserControl.DataContext>
<StackPanel Orientation="Horizontal">
<TextBlock HorizontalAlignment="Stretch" VerticalAlignment="Center" Text="Environment:" Margin="0,0,5,0" />
<ComboBox x:Name="environments" ItemsSource="{Binding Data}" SelectedItem="{Binding Data}" SelectedIndex="0" ></ComboBox>
</StackPanel>
EnivronmentViewModel.cs
public class EnvironmentViewModel : BaseModelView {
public ObservableCollection<string> _data;
public ObservableCollection<string> Data
{
get {
if (this._data == null)
{
_data = new ObservableCollection<string>();
foreach (ConnectionStringSettings connectionString in ConfigurationManager.ConnectionStrings)
{
this._data.Add(connectionString.Name);
}
}
return this._data;
}
set {
if (_data == value) return;
_data = value;
OnPropertyChanged("Data");
}
}
DashboardView.xaml
<UserControl.DataContext>
<viewmodel:DashboardViewModel />
</UserControl.DataContext>
<Border Style="{StaticResource ThickBorderStyle}">
<StackPanel>
<TextBlock Text="Current Bugs" />
<data:DataGrid x:Name="dataview" Width="Auto" Height="Auto" ItemsSource="{Binding Data}">
</data:DataGrid>
</StackPanel>
</Border>
DashboardViewModel.cs
private DashboardRepository _repository;
public ObservableCollection<DashBoardCount> _data;
public DashboardViewModel() {
_repository = new DashboardRepository();
}
public ObservableCollection<DashBoardCount> Data
{
get
{
if(this._data==null)
{
IQuery q = new Query() { ConnectionStringKey = this.ConnectionStringKey };
_data = this._repository.Get(q);
}
return _data;
}
set {
if (_data == value) return;
_data = value;
OnPropertyChanged("Data");
}
}