我的代码如下所示:
var telemetry = new CollectionViewSource();
telemetry.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));
SetTelemetryFilters(telemetry);
var binding = new Binding("Asset.TelemetryDefinitions.Values");
binding.Source = this;
var expression = BindingOperations.SetBinding(telemetry, CollectionViewSource.SourceProperty, binding);
在这段代码之后不久,我正在设置一个ComboBox.ItemsSource = telemetry.View
. 我需要视图(在多个地方),因为它实现IEnumerable
了 CollectionViewSource 没有。软件首次运行时,该Asset
属性为空。这是有问题的,因为这会导致 telemetry.View 返回 null,这反过来意味着我的 ItemsSource 被设置为 null。在绑定操作向 CollectionViewSource.Source 返回 null 的情况下,是否有某种方法可以使 CollectionViewSource.View 返回一个空视图?(而且我假设一旦 CollectionViewSource.View 返回非 null 它总是返回相同的实例?)