C#wpf - 在执行期间添加到xaml文件

时间:2014-02-22 10:26:52

标签: c# wpf xaml

这是我的主程序GUI的样子,我试图做的是使用wpf在C#中创建一个提醒应用程序。

我打算使用一个滚动查看器,它将向用户显示数据,即他们目前的提醒。

每次用户添加提醒时,都会添加以下内容:

我想要做的是,当用户添加新的提醒时,会有一组新的数据添加到滚动查看器中。

实现这一目标的最佳方式是什么?

我是否能够保存xaml数据并在执行期间添加它?

感谢您的帮助

1 个答案:

答案 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以获得一个很好的例子。)

模板的使用是在其他控件中完成的,因此如果列表框不符合您的喜好,请查看其他模板化控件。