在我目前的项目中,我已经在C#中动态制作UI。这可能是一项非常无聊和困难的任务。那么有一个工具可以生成XAML UI标记的C#代码吗?
例如,我在XAML中有网格
<Grid >
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
</Grid>
我希望将它转换为
Grid grdTextField = new Grid();
RowDefinition firstrow = new RowDefinition();
RowDefinition secondrow = new RowDefinition();
这是一个简单的案例,但是对于一点点复杂的UI来说,很难从Code背后制作。
编辑: -
实际上我得到一个Json来确定我的大网格是如何创建的。它有六到七种类型的复杂视图,这些视图可以多次出现(因此必须在运行时放置一些逻辑)。所以 总的来说,我必须在这个json的基础上制作网格。
编辑2: - 这是json的一部分,基于此我必须制作一个UI
"decimal_variables": [
{
"id": 1,
"name": "Time Taken",
"var_type": 2,
"is_required": true,
"default": null,
"max_value": "10000.000000",
"min_value": "0.000000",
"unit": "sec",
"score_dependency": 2
},
{
"id": 2,
"name": "Number of moves",
"var_type": 2,
"is_required": true,
"default": null,
"max_value": "1000.000000",
"min_value": "0.000000",
"unit": "moves",
"score_dependency": 2
},
{
"id": 3,
"name": "Number of hints used",
"var_type": 2,
"is_required": true,
"default": null,
"max_value": "100.000000",
"min_value": "0.000000",
"unit": "hints",
"score_dependency": 2
}
],
"choice_variables": [
{
"choices": [
{
"id": 1,
"name": "Easy",
"value": "1.000000"
},
{
"id": 2,
"name": "Medium",
"value": "2.000000"
},
{
"id": 3,
"name": "Tough",
"value": "3.000000"
}
],
"id": 1,
"name": "Difficulty level",
"var_type": 1,
"is_required": true,
"default": null,
"score_dependency": 3
}
],
"boolean_variables": [
{
"id": 1,
"name": "Is Hint Allowed",
"var_type": 1,
"default": true,
"score_dependency": 3
}
],
"text_variables": [
{
"id": 1,
"name": "Instructions to student",
"var_type": 1,
"is_required": false,
"default": "1. Carefully do the assignment.\r\n2. Time is key in assignment score, so make sure not to waste the time.",
"max_length": 1000,
"score_dependency": 3
}
],
"file_variables": [
{
"default": "media/variable-files/supermegafunbits-1024x1024.png",
"id": 1,
"name": "Image",
"var_type": 1,
"is_required": false,
"file_type": "image/jpeg,image/png",
"score_dependency": 3
}
],
现在用于文件变量我必须制作一个包含图像控件的UI,用于浏览图像的按钮,标题TextBlock和信息TextBlock(可能很复杂)。所以我正在寻找一个工具,如果我从xaml创建一个UI可以很多时间转换为C#代码,并且可以保存不必要的编码。
答案 0 :(得分:0)
为什么需要在代码中创建它?您可以创建DataTemplate。创建一个View和ViewModel,它将给出视图的逻辑。在ViewModel中,您可以设置,获取,隐藏,修改视图。
我建议阅读这篇文章:
问候!