这是我的主程序GUI的样子,我试图做的是使用wpf在C#中创建一个提醒应用程序。
我打算使用一个滚动查看器,它将向用户显示数据,即他们目前的提醒。
每次用户添加提醒时,都会添加以下内容:
我想要做的是,当用户添加新的提醒时,会有一组新的数据添加到滚动查看器中。
实现这一目标的最佳方式是什么?
我是否能够保存xaml数据并在执行期间添加它?
感谢您的帮助
答案 0 :(得分:1)
您想要做的不是通过动态Xaml完成,而是通过使用可以接受动态数据的templated
控件来完成。例如,您不会考虑使用列表框作为标签,因为您没有在列表中显示数据吗?
但是,列表框只是您想要实现的传送带。假设你想要的不仅仅是一个标签,那么三个标签怎么样。通过绑定到适当的结构,您可以获得所需的东西。
这是一个例子
<ListBox ItemsSource="{Binding myReminders }">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=ReminderName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
一旦将其绑定到我的提醒数据对象列表(列表可以动态更改),我们就能够以我们想要的任何格式显示提醒。一个人只是使用上面的方式来适当地设计它。 (查看WPF的Templating Overview以获得一个很好的例子。)
模板的使用是在其他控件中完成的,因此如果列表框不符合您的喜好,请查看其他模板化控件。