Ich habe eine Observable Collection an ein XamDataGrid von Infragistics in meiner MVVM-Light VM gebunden. In der Benutzeroberfläche habe ich mein Raster und eine Schaltfläche und wenn ich auf die Schaltfläche klicke, möchte ich eine Aktion durchführen, die Informationen aktualisiert. Diese Aktion dauert eine ganze Weile und ich möchte, dass die Daten in der auf der GUI angezeigten Reihenfolge aktualisiert werden. Die Observable-Sammlung ist jedoch nicht sortiert und wird stattdessen immer in der unsortierten Liste aktualisiert. Gibt es eine Möglichkeit, die sortierte Liste in meiner VM zu erhalten?Erhalten sortierte beobachtbare Sammlung in mvvm Licht
VM:
public class SystemInformation : ViewModelBase
{
private ObservableCollection<Site> _activeSites;
private RelayCommand _updateAllCommand;
/// <summary>
/// Initializes a new instance of the SystemInformation class.
/// </summary>
public SystemInformation() : base()
{
ActiveSites = new ObservableCollection<Site>();
}
public ObservableCollection<Site> ActiveSites
{
get
{
return _activeSites;
}
set
{
Set("ActiveSites", ref _activeSites, value);
}
}
public RelayCommand UpdateAllCommand
{
get
{
return _updateAllCommand
?? (_updateAllCommand= new RelayCommand(
() =>
{
try
{
foreach (var site in ActiveSites)
{
// Update data
}
}
catch (Exception ex)
{
//Exception handling
}
});
}
));
}
}
}
}
Ausblick:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="5"/>
<RowDefinition Height="*"/>
<RowDefinition Height="5"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="5"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="5"/>
</Grid.ColumnDefinitions>
<igDP:XamDataGrid x:Name="grdSysinfo" Grid.Row="1" Grid.Column="3" DataSource="{Binding ActiveSites, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged }" />
<Button Command="{Binding UpdateAllCommand}" CommandParameter="All" Grid.Row="3" Grid.Column="1">Load All</Button>
</Grid>
versuchen hier suchen - http: //stackoverflow.com/questions/16956251/sort-a-wpf-datagrid-programmatically –
Das ist anders herum. Sie möchten ihre GUI in ihrer VM anpassen. Ich möchte, dass die Sammlung in meiner VM entsprechend den Änderungen in meiner GUI aktualisiert wird. Es sei denn, ich vermisse hier etwas völlig. –