动态创建文本框 MVVM?

2024-01-05

我可以在我已经实现的 C# 代码中动态创建文本框,但人们一直说我需要遵循 MVVM 模式,我研究了一下,它看起来真的很难,我只是无法习惯它。

我需要动态创建文本框,将文本框中的信息保存到 SQL,然后能够重新打开它。

这是一张描述我需要做的事情的图片:

不使用 MVVM 模式是否可以做到这一点?

只需要一点启动和解释我如何做到这一点,我不想提供所有代码。

EDIT1:

我不知道这是否正确。

我创建了一个名为“标准”的类,如下所示:

namespace MVVModel
{
public class Standard
{

    string _title;
    string _question;



    public string Title
    {
        get { return _title; }
        set { _title = value; }
    }

    public string Question
    {
        get { return _question; }
        set { _question = value; }
    }
}
}

现在我要创建一个 ViewModel?这里面需要有什么?


您可以使用

<ItemsControl ItemsSource="{Binding StandardCollection}">
    <ItemsControl.ItemTemplate>
        <DataTemplate DataType="{x:Type Standard}">
            <Grid>
                <TextBox Text={Binding Title} />
                <ItemsControl ItemsSource="{Binding Questions}">
                    <ItemsControl.ItemTemplate>
                        <DataTemplate>
                            <TextBox Text={Binding} />
                        </DataTemplate>
                    </ItemsControl.ItemTemplate>
                </ItemsControl>
            </Grid>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

它绑定到 viewModel 中的任何集合。

您可以根据需要在集合中添加任意数量的项目。

Update:

public class Standard
{
    string _title;
    ObservableCollection<string> _questions;        

    public string Title
    {
        get { return _title; }
        set { 
            _title = value;
            NotifyOfPropertyChanged(()=>Title);
        }
    }

    public ObservableCollection<string> Questions
    {
        get { return _questions; }
        set { 
            _questions = value;
            NotifyOfPropertyChanged(()=>Questions);
        }
    }
}

public class StandardViewModel
{
    private ObservableCollection<Standard> _standardCollection;
    public ObservableCollection<Standard> StandardCollection{
        get
        {
            return _standardCollection;            
        }
        set{
            _standardCollection = value;
            NotifyOfPropertyChanged(()=>StandardCollection);
        }
    }
}

查看您的图表 1:您似乎对每个标题可能有多个问题。所以这就是解决方案。

是的,您将需要Standard类以使其变得简单。

抱歉,我现在没有 Visual Studio,我只是在记事本中编写了这段代码,然后粘贴到这里。不确定是否有错误。但只是高层次的想法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动态创建文本框 MVVM? 的相关文章

  • 每个 CPU 核心处于 C0 电源状态的时间

    任何帮助弄清楚如何做到这一点都会很棒 在过去一秒内 每个 CPU 核心处于 C0 电源状态的时间有多少 这是针对 Mac 应用程序的 因此需要 Objective C cocoa 和 c OS X 没有任何公开 CPU c 状态的 API
  • 如何将 pem 公钥转换为 openssl RSA* 结构

    假设我必须像这样公开 pem 密钥 BEGIN PUBLIC KEY MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7vbqajDw4o6gJy8UtmIbkcpnk O3Kwc4qsEnSZp TR fQi
  • 无法使用 Unity 函数在 Visual Studio Code 中获得完整的 Intellisense

    好吧 我知道这个问题已经被问过并回答过很多次了 但我花了大约 3 天的时间试图解决这个问题 但到目前为止我所做的一切都没有奏效 我基本上在 Visual Studio Code 中有部分智能感知 也就是说 它似乎只识别 Unity 类和变量
  • Reflection.Emit 中的短格式操作码错误

    我正在制作一种与以下非常相似的小语言hlsl但仅支持像素着色器 该语言使用reflection emit构建实现相同功能的 NET 程序集 我目前正在测试分支指令的实现if在我的一个单元测试中 一个大的if与内if elses 失败并显示以
  • 在 C++ 中,严格别名规则中的“访问”是什么意思?

    3 10 10 说 如果一个程序试图access通过除以下类型之一之外的泛左值存储对象的值 行为未定义 然而 术语 访问 并没有在任何地方定义 在这种情况下这意味着read or 读取或修改 在 C 标准中 它被明确定义为读取或修改 然而在
  • 无法更新 .mdf 数据库,因为该数据库是只读的(Windows 应用程序)

    我使用 C 创建了一个数据库 Windows 应用程序 我的应用程序在 Windows XP 上成功运行 但在 Vista 或 Windows 7 系统上无法正确执行 我的应用程序显示类似以下内容的消息 无法更新 mdf 数据库 因为该数据
  • Code First - 实体框架 - 如何公开外键

    我有以下数据对象 public class Customer System Data Entity ModelConfiguration EntityTypeConfiguration
  • c#Registry to XML无效字符问题

    我在尝试从注册表创建 XML 文件时遇到问题 在我的笔记本电脑 W7 64b 上它工作正常 生成了 xml 文件 但在另一台计算机 Xp 32b 上抛出异常 System ArgumentException 十六进制值 0x00 是无效字符
  • 是否可以用 C# 为 Android 编写应用程序?

    我们都知道Android运行Dalvik VM程序 通常开发人员用 Java 编写程序并将其编译为 Dalvik 字节码 我想知道是否有可能创建一个可以接受 C 代码并将其编译为 Dalvik 字节码的编译器 嗯 这是一种选择 或者您可以在
  • 使用经度和纬度查找给定距离内的所有附近客户

    我有一个包含客户经度和纬度的数据库 我有一个搜索表单 用户将在其中输入日志 纬度 距离下拉列表包含 50 英里 100 英里 当用户单击搜索时 我想编写一个 linq 查询从数据库中获取此距离半径内的所有客户 如何使用 C 和 linq 来
  • 未定义条件编译符号

    我无法让 Visual Studio 按照我的预期运行 我创建了 2 个配置文件 一个定义了符号 FOO 另一个定义了符号 BAR 我有这个代码 static class MyClass if FOO public static strin
  • 让 WIX 在项目中包含引用

    我对 WiX 和设置自定义安装程序完全陌生 所以我对问题的主题表示歉意 我有一个内部业务应用程序 日记 它构建并运行良好 因此我按照教程 官方文档添加 WiX 项目并引用日记的 csproj 然后构建并运行这个最基本版本的 WiX 安装程序
  • 使用 cryptoapi CryptImportKey 导入公钥时出错

    我想将公钥 blob 导入到 CSP 但发生了错误 BYTE pbData 0xEB 0x2A 0x38 0x56 0x86 0x61 0x88 0x7F 0xA1 0x80 0xBD 0xDB 0x5C 0xAB 0xD5 0xF2 0x
  • 允许 .NET WebApi 忽略 DOCTYPE 声明

    我正在尝试通过 WebApi 方法将 XML 反序列化为对象 我有以下课程 XmlRoot IsNullable false public class MyObject XmlElement Name public string Name
  • 读取所有进程内存以查找字符串变量c#的地址

    我有 2 个用 C 编写的程序 第一个名为 ScanMe 的程序包含一个包含值 FINDMEEEEEEE 的字符串变量 以及一个值为 1546 22915487 的双精度变量 另一个名为 MemoryScan 的程序读取第一个程序的所有内存
  • 我可以在C中直接比较int和size_t吗?

    我可以比较一个int and a size t像这样的变量 int i 1 size t y 2 if i y Do something 或者我必须输入其中之一 只要满足以下条件 它就是安全的int为零或正数 如果它是负数 并且size t
  • 组合框由于某种原因被链接

    我有以下代码来填充 3 个组合框 private void PopulateDDLs SqlConnection connection SqlCommand command SqlDataReader reader DataTable dt
  • 中继命令和无参数执行方法

    我目前正在学习 WPF 和 MVVM 我想我已经了解了大部分内容及其工作原理 但我在使用 RelayCommand 或 DelegateCommand 时遇到了一些我不明白的问题 我认为这与代表的工作方式有关 请注意 下面的代码目前仅处于测
  • 如何在Asp.Net Core中自定义开发者异常页面?

    这常见于ConfigureStartup cs 文件的方法具有如下所示的代码 if env IsDevelopment app UseDeveloperExceptionPage new DeveloperExceptionPageOpti
  • 你将如何开始自动化我的工作? - 第2部分

    后续这个问题 https stackoverflow com questions 2796128 how would you start automating my job 在经历了第一波进货 9 小时的复制 粘贴 后 我现在相信我已经满足

随机推荐

  • 为什么 int j = 012 给出输出 10?

    在我的实际项目中偶然发生了这里是我修改的小程序 我不明白为什么它会给出输出10 public class Int public static void main String args int j 012 accidentaly i put
  • fusion 能看穿新型包装吗?

    Given newtype MyVec MyVec unVec Data Vector deriving Functor etc 这将创建 类似于 instance Functor MyVec where fmap f MyVec Data
  • 如何使用 django-tables2 从自定义 sql 渲染表?

    我正在使用 Django 和 django tables2 在 Web 界面中很好地表示 sql 查询 我有一个遗留的 sql 代码 通过标准 models py 定义它非常非常复杂 问题是 如何使用 django tables2 从自定义
  • ld:找不到 -lz 的库

    这让我发疯 当我尝试在模拟器上编译时 一切正常 但在设备上我收到此错误 ld library not found for lz Command Developer Platforms iPhoneOS platform Developer
  • 新版 Google Play 管理中心出现数以千计的奇怪崩溃

    Google Play 管理中心的 ANR 和崩溃部分最近已更新 可显示更多 ANR 和崩溃 自动从选择加入的用户收集 我在各种 Android 版本和设备上发现了很多奇怪的新崩溃 1 最常见的 每周出现数千次 没有任何类名的 ClassN
  • 什么是$cacheFactory?

    我完全找不到任何关于具体内容的信息 cacheFactory是什么以及它如何在您的应用程序中发挥作用 角度文档说 构造缓存对象并提供对它们的访问的工厂 cacheFactory http docs angularjs org api ng
  • 从数组中创建列表

    进行练习时遇到困难雄辩的Javascript书 http eloquentjavascript net 任务是从数组中创建一个列表 该列表是这样的 var list value 1 rest value 2 rest value 3 res
  • 样式输入文件和自动提交

    我试图有一个用户单击的单个文本链接 它会询问用户他 她想要上传哪个文件 然后自动将其发布到表单中 我怎样才能达到同样的效果 我知道我必须设置文件输入的样式 但如何让它在选择文件时自动发布 非常感谢 在页面中嵌入 javascript 是不好
  • Django:模板中显示的多维字典

    我有以下视图 但发现无法通过模板显示 sm request session get active semester semester dates SemesterDates objects filter semester sm schedu
  • jQuery 文件大小

    在jQuery的官方网站上 他们说缩小后的文件大小是18k 但是下载后 我发现是53 9K 下载后我需要做一些压缩吗 该网站声称它已缩小为 18kgzipped 因此 您需要设置 Web 服务器来压缩 JavaScript 文件才能查看文件
  • Outlook VSTO 功能区到主页 tabControlId

    我正在写一个VSTO http en wikipedia org wiki Visual Studio Tools for Office 微软Outlook http en wikipedia org wiki Microsoft Outl
  • 使用 Gmail API 从 Gmail 下载附件

    我在用邮箱API https developers google com gmail api访问我的 Gmail 数据以及谷歌Python API客户端 https github com googleapis google api pyth
  • 从 sklearn.pipeline.Pipeline 获取转换器结果

    我正在使用一个sklearn pipeline Pipeline我的聚类对象 pipe sklearn pipeline Pipeline transformer1 transformer1 transformer2 transformer
  • Javascript 按随机百分比机会执行函数

    可以说 我想按百分比机会触发一个函数 function A console log A triggered 50 chance to trigger if Math random gt 0 5 A 现在我想添加更多功能来偶然触发 我所做的是
  • Excel 将字段添加到 Xml 映射

    我在 Excel 2010 工作表上有一个 XML 地图 我会定期从 XML 文件的内容中刷新该地图 我最近向 XML 数据添加了一个新字段 并希望它显示在我的 XML 地图上 我只是希望能够添加新字段 但它看起来虽然必须再次导入整个结构
  • 您可以使用 NEST 2 从 InnerHits 获得强类型命中吗?

    我正在使用 NEST 2 客户端对我们的 Elasticsearch 执行查询 我们有一个查询 用于查询嵌套文档数组 并使用 InnerHits 在结果中包含嵌套文档的匹配项 有没有办法将 InnerHits 的结果强类型化到特定的 POC
  • 在 Firemonkey 中移动无边框表单

    在我使用的VCL形式中WM 系统命令 但在 firemonkey 中它是未声明的 我测试这段代码 procedure TForm4 dragPanelMouseDown Sender TObject Button TMouseButton
  • 为什么 VS 警告我 typeof(T) 永远不是泛型方法中提供的类型,其中类型参数仅限于实现 T?

    我希望这个问题是正确的 所以让我们举个例子 想象一下以下通用方法 public abstract class Base IDisposable public static IEnumerable
  • redux-form - 带有 FieldArray 组件的 asyncBlurFields

    我想知道如何在 FieldArray 内的 Field 组件上触发异步验证 我有类似的东西 class MyForm extends Component constructor props super props render const
  • 动态创建文本框 MVVM?

    我可以在我已经实现的 C 代码中动态创建文本框 但人们一直说我需要遵循 MVVM 模式 我研究了一下 它看起来真的很难 我只是无法习惯它 我需要动态创建文本框 将文本框中的信息保存到 SQL 然后能够重新打开它 这是一张描述我需要做的事情的