【发布时间】:2014-06-27 16:00:42
【问题描述】:
我有带有小型静态数据源的列表控件。例如:
<ItemsControl ItemsSource="{Binding Countries}" .../>
我的视图模型填充列表:
this.Countries.Add(new Country { Code = "BE", Name = "Belgium" });
this.Countries.Add(new Country { Code = "CA", Name = "Canada" });
// etc.
是否有替代方法可以在 XAML 中定义列表内容?比如:
<ItemsControl>
<ItemsControl.ItemsSource>
<somenamespace:list>
<mynamespace:Country Code="BE" Name="Belgium" />
etc.
</somenamespace:list>
</ItemsControl.ItemsSource>
</ItemsControl>
我实际上会将列表放在单独的资源文件中,并希望在将它们定义为资源后执行ItemsSource="{StaticResource myListOfCountries}"。
我想这样做是为了减轻我的 VM 中的样板代码。我想知道它是否会对性能产生负面影响,因为可以在渲染视图之前创建这些对象,而我可以稍后加载这些对象(导航到,视图加载,... vs 构造函数)。欢迎任何想法!
【问题讨论】:
-
此链接here 可能会对您有所帮助。
标签: c# wpf xaml windows-phone-8