C# observablecollection的observablecollection声明
不知何故,这在运行时不起作用(但它正在编译):C# observablecollection的observablecollection声明,c#,wpf,observablecollection,dependency-properties,C#,Wpf,Observablecollection,Dependency Properties,不知何故,这在运行时不起作用(但它正在编译): 公共静态只读依赖属性SelectedVideoFileNamesProperty= DependencyProperty.Register(“SelectedVideoFileName”、typeof(ObservableCollection)、typeof(CMiX_UI), 新PropertyMetadata(新[]{new ObservableCollection(), 新的ObservableCollection(), 新的Observab
公共静态只读依赖属性SelectedVideoFileNamesProperty=
DependencyProperty.Register(“SelectedVideoFileName”、typeof(ObservableCollection)、typeof(CMiX_UI),
新PropertyMetadata(新[]{new ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的observeCollection()});
[可装订(真实)]
公共可观察集合选择的视频文件名
{
获取{return(observeCollection)this.GetValue(SelectedVideoFileNamesProperty);}
set{this.SetValue(SelectedVideoFileNamesProperty,value);}
}
为什么??谢谢您的类型定义为
ObservableCollection<ObservableCollection<string>>
observedcollection
但您将默认设置为:
new[]{new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>()}))
new[]{newobserveCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection()})
这是一组可观察的集合。你需要:
new ObservableCollection<ObservableCollection<String()>> {new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>()}))
new ObservableCollection{new ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection()})
您的类型定义为
ObservableCollection<ObservableCollection<string>>
observedcollection
但您将默认设置为:
new[]{new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>()}))
new[]{newobserveCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection()})
这是一组可观察的集合。你需要:
new ObservableCollection<ObservableCollection<String()>> {new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>()}))
new ObservableCollection{new ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection()})
当您将字符串的ObservableCollection数组ObservableCollection[]
指定为ObservableCollection
的默认值时,它不应该运行。如果您这样编写代码:
ObservableCollection<ObservableCollection<string>> o = new[]{new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>()};
observetecollection o=new[]{new observetecollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的observeCollection()};
它将给您一个设计时错误,该错误表示:
无法将类型“System.Collections.ObjectModel.ObservableCollection[]”隐式转换为“System.Collections.ObjectModel.ObservableCollection>”
相反,您可以:
ObservableCollection<ObservableCollection<string>> o = new ObservableCollection<ObservableCollection<string>> {new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>()};
ObservableCollection o=new ObservableCollection{new ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的observeCollection()};
当您将字符串的ObservableCollection数组ObservableCollection[]
指定为ObservableCollection
的默认值时,它不应该运行。如果您这样编写代码:
ObservableCollection<ObservableCollection<string>> o = new[]{new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>()};
observetecollection o=new[]{new observetecollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的observeCollection()};
它将给您一个设计时错误,该错误表示:
无法将类型“System.Collections.ObjectModel.ObservableCollection[]”隐式转换为“System.Collections.ObjectModel.ObservableCollection>”
相反,您可以:
ObservableCollection<ObservableCollection<string>> o = new ObservableCollection<ObservableCollection<string>> {new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>(),
new ObservableCollection<string>()};
ObservableCollection o=new ObservableCollection{new ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的ObservableCollection(),
新的observeCollection()};