我正在尝试使用从方法调用(GetYears)获得的ObservableList或List对象填充组合框。
ObjectDataProvider看起来很有希望,但是当我尝试使用它时,出现“ x:Key只允许用于资源和字典元素”,并且在将其放入xaml的位置时遇到了麻烦。
目前,我使用以下代码片段执行相同的操作,但是我认为这与WPF最佳做法和更多WinForms背道而驰。
public partial class MainWindow : Window
{
public MainWindow()
{
YearComboBox.ItemsSource = GetYears();
}...
我正在看以下页面
http://msdn.microsoft.com/zh-cn/library/aa480224.aspx和此页面http://www.codeproject.com/Articles/140621/WPF-Tutorial-Concept-Binding,并快速阅读以下“ C#2010中的Pro WPF”
我的背景是Android / c / c ++-这是我学习WPF的第一步,这是我第一次尝试.Net / WPF。我已经阅读了几篇MVVM文章,但没有足够的透彻知识来获得完整的想法。它主要是从那些了解它的人那里摘录的。任何人都有完整的MVVM .sln示例吗?也许是MVVM的UML图?我觉得我需要掌握一张大图来帮助我。
根据您的要求,ObjectDataProvider是正确的选择。
另外,作为错误状态,您需要place it under Resource section of root
(可以是Window,UserControl,Grid等)
就像您在有问题的第二篇文章中提到的那样(小样本):
<StackPanel Orientation="Vertical" xmlns:m="clr-namespace:ActualNamespace">
<StackPanel.Resources>
<ObjectDataProvider ObjectType="{x:Type m:StringData}"
x:Key="objStrings" MethodName="GetStrings"/>
</StackPanel.Resources>
<ComboBox Name="lstStrings" Width="200" Height="300"
ItemsSource="{Binding Source={StaticResource objStrings}}" />
</StackPanel>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句