От: | skodnik | ||
Дата: | 09.09.10 12:23 | ||
Оценка: | 4 (1) |
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="25"></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<ComboBox
Grid.Row="0"
Height="23"
HorizontalAlignment="Left"
Name="comboBox1"
VerticalAlignment="Top"
Width="208"
SelectedItem="{Binding Path=ItemSelected}"
ItemsSource="{Binding Path=ComboItems}"
DisplayMemberPath="Name" />
<DataGrid
Grid.Row="1"
AutoGenerateColumns="True"
ItemsSource="{Binding GridItems, IsAsync=True}"
Name="dataGrid1">
</DataGrid>
</Grid>
public class ViewModel : ViewModelBase
{
public RandomFilesViewModel()
{
// Инициализация comboItems
comboItems = SomeDAO.Get();
if (comboItems != null)
if (comboItems.Count > 0)
ItemSelected = comboItems[0];
}
public List<SomeType> GridItems
{
get
{
// !!!!!!!! Результат зависит от выбранного значения в комбобоксе
return SomeFunctionToGetGridItems(MarketSelected);
}
}
public ObservableCollection<ComboItemType> ComboItems
{
get
{
return сomboItems;
}
set
{
if (value != сomboItems)
{
сomboItems = value;
OnPropertyChanged("ComboItems");
}
}
}
private ObservableCollection<ComboItemType> comboItems;
private ComboItemType itemSelected;
public ComboItemType ItemSelected
{
get { return itemSelected; }
set
{
if (itemSelected != value)
{
itemSelected = value;
OnPropertyChanged("ItemSelected");
// !!!!!!!! Для обновления грида
OnPropertyChanged("GridItems");
}
}
}
}
// !!!!!!!! Для обновления грида
OnPropertyChanged("GridItems");