我希望能有一些比我更好的经验来创建一个用于在WPF中显示数据的窗口/窗口组。以下是我的任务概述:
我将从接收器获得大量二进制输出。然后将对每个二进制字符串解析并键入特定位的含义(即word1 bit1 = Receiver Status OK“)。
然后必须以某种形式显示数据,格式为Receiver Status OK [CheckBox绑定到值],或者X方向的速度:[TextBlock绑定到值]
问题如下:
当用户需要查看传入数据时,需要显示约60条独特的“消息”
每条信息的长度都不同,每条信息的含义不同,必须显示的字段数也不同。
我想知道你将如何处理这种情况。我想要蛮力,每个消息一个窗口,但这似乎非常原始。我的另一个想法是制作一个标准窗口,其中一个网格是最大消息的大小,然后用必要的TextBlocks等填充它。然后,我只是将每个消息的字段的键和值DataBind,并折叠未使用的字段。
任何建议都将不胜感激。提前谢谢。
答案 0 :(得分:0)
听起来你有一堆具体的消息类。如果是这种情况,我会为DataTemplate
Window's
中的每封邮件创建一个新的Resources
。 DataTemplate's
x:Key
应设置为它所代表的类的类型。然后,您可以将Content
的{{1}}设置为邮件实例,并为该类型选择正确的Window
。
e.g。
DataTemplate
当您创建<Window x:Class="MessageTest.MessageWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:lcl="clr-namespace:MessageTest">
<Window.Resources>
<DataTemplate x:Key="{x:Type lcl:SimpleMessage}">
<TextBlock Text="{Binding MessageContent}" />
</DataTemplate>
</Window.Resources>
</Window>
:
Window