Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 没有代码隐藏的WPF用户控制_C#_Wpf_Xaml_Mvvm_User Controls - Fatal编程技术网

C# 没有代码隐藏的WPF用户控制

C# 没有代码隐藏的WPF用户控制,c#,wpf,xaml,mvvm,user-controls,C#,Wpf,Xaml,Mvvm,User Controls,我有一个简单的GUI: 它将下拉列表中的命令与可选参数组合在一起,并将其格式化,如中所示 我想基本上再添加5-6个这样的东西,这样我可以在默认情况下设置一组不同的命令/参数组合,并且可以只按相应的发送按钮,而不是每次有几个常用组合时更改一个: 显然,发送的单个字符串:不再是真正相关的,因为它取决于您单击哪个发送 这是通过复制/粘贴每个代码来完成的。我知道存在用户控件这是我应该做的,对吗?但是我使用的是MVVM/relay命令,不确定它们在没有代码隐藏的情况下是否可以工作 我的简单方法是创建命令

我有一个简单的GUI:

它将下拉列表中的命令与可选参数组合在一起,并将其格式化,如中所示

我想基本上再添加5-6个这样的东西,这样我可以在默认情况下设置一组不同的命令/参数组合,并且可以只按相应的发送按钮,而不是每次有几个常用组合时更改一个:

显然,发送的单个字符串:不再是真正相关的,因为它取决于您单击哪个发送

这是通过复制/粘贴每个代码来完成的。我知道存在用户控件这是我应该做的,对吗?但是我使用的是MVVM/relay命令,不确定它们在没有代码隐藏的情况下是否可以工作

我的简单方法是创建命令枚举和参数字符串的结构:

struct CommandString
{
    public CommandEnum Command;
    public string Parameter;
}
将它们存储在一个列表中,并将UI上的每一行硬编码到列表中的不同索引,然后硬编码Send按钮,将相同的索引传递给relay命令,以便它知道使用哪个索引


我可以使用UserControl来减少复制/粘贴吗?它能与MVVM和中继命令一起工作吗?

您能考虑使用ItemsControl而不是对UI上的每一行进行硬编码吗@谢谢你!这看起来正是我需要的。