gpt4 book ai didi

c# - WPF 中的简单数据绑定(bind)

转载 作者:太空狗 更新时间:2023-10-30 01:04:58 26 4
gpt4 key购买 nike

我正在尝试使用从方法调用 (GetYears) 获得的 ObservableList 或 List 对象填充组合框。

ObjectDataProvider 看起来很有前途,但是当我尝试使用它时,我得到“x:Key 只允许用于资源和字典元素”并且在我应该将它放在我的 xaml 中的位置时遇到了麻烦。

目前我使用以下代码片段做同样的事情,但我觉得这违反了 WPF 最佳实践和更多 WinForms。

public partial class MainWindow : Window
{
public MainWindow()
{
YearComboBox.ItemsSource = GetYears();
}...

我正在查看以下页面

http://msdn.microsoft.com/en-us/library/aa480224.aspx和这个页面 http://www.codeproject.com/Articles/140621/WPF-Tutorial-Concept-Binding并快速阅读以下书籍“Pro WPF in C# 2010”

我的背景更多是 Android/c/c++ - 这是我在学习 WPF 的过程中第一次涉足 .Net/WPF 我已经阅读了一些 MVVM 文章,但没有足够透彻的文章来理解完整的想法;它主要是从某种程度上得到它的人的片段。有人有完整的 MVVM .sln 示例吗?也许是 MVVM 的 UML 图?我觉得我需要掌握全局来帮助我。

最佳答案

ObjectDataProvider根据您的要求是正确的选择。

此外,作为错误状态,您需要将它放在根目录的资源部分下(可以是任何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>

关于c# - WPF 中的简单数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20804712/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com