0

我第一次深入研究 winrt/xaml/html5 开发,所以任何一般性的指针都非常感激地接受。我很欣赏这是一个非常开放的问题,基本上是一个思想转储,但欢迎所有意见。

我被要求研究开发一个问卷类型的应用程序来替代当前的纸质问卷。应用程序将在可能/可能没有在线/wifi 访问的 win8 平板设备上运行。

当前设置是“主”系统将问题存储在数据库中。一个简单的电子表格样式输入表单,训练有素的操作员在其中接收纸质问卷并输入数据。我们的目标是消除额外的输入步骤并移除纸张。

基本用户要求是

  • 问题应该可以根据需要进行更新——因此问题必须存储在 win8 设备上的本地数据存储中——从现有的主系统数据库导出。由于平板电脑设备可能无法在线访问,因此可以召回平板电脑进行手动更新,而不是通过 OTA 推出新问题)

  • 答案可能采用是/否、量表(不快乐/适度快乐/欣喜若狂...)、自由文本输入的形式。

  • 部分应该能够被跳过/分支。因此,对 Q2 回答“是”分支到第 2a 部分,对第 2b 部分回答“否”等。

  • 将答案存储在本地数据存储中,并提供某种导出方法以将数据导入主数据库(无法保证 wifi,但所有位置都将具有物理 USB 连接,可用于运行要导入数据的“主”应用程序的桌面) .

由于问题是动态的,因此必须在运行时生成页面内容和输入控件 - 还是在问题发生变化时生成和存储?

所以 Q1 可能有 Checkbox 的输入类型 Q2 可能有下拉列表的输入类型 Q2a 可能是自由文本输入。回答 Q2 可能会导致跳到 Q5 等。所有这些规则都将存储在问题数据库中。

问题提示和输入类型将存储在本地数据库中

XAML 是否可以隐藏和显示“部分” - 与“显示部分 2a 或 2b”相关,具体取决于 Q2 等的答案。

4

1 回答 1

1

XAML 是否可以隐藏和显示“部分” - 与“显示部分 2a 或 2b”相关,具体取决于 Q2 等的答案。

是的。

您通过转换器将该部分的可见性绑定到问题的答案:

<StackPanel Visibility="{Binding Answer2, Mode=OneWay, Converter={StaticResource AnswerToVisibility})">
    ... Section UI
</StackPanel>

(为了简单起见,我在StackPanel这里使用)

然后你的转换器需要看起来像这样:

public class DateConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        // cast value to the correct type
        return value == condition ? Visibility.Visible : Visibility.Collapsed;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}
于 2012-10-21T08:13:47.070 回答