您好我想在我的任务栏中创建通知图标,当我点击该图标时,会打开一个弹出窗口,弹出窗口显示我今天必须完成哪些任务,并且还想显示今天的约会列表。
质疑
假设我今天的日期从数据库中获得了10个任务,那么所有任务都应该显示滚动条。
如何使用WPF控件([textBlock])绑定数据?
如何动态创建[textBlock]控件意味着假设我从描述列中获取任务描述然后显示,否则描述[textBlock]不会创建。
我已经通过以下链接来实现这一点。
http://www.codeproject.com/Articles/36468/WPF-NotifyIcon
但我真的不知道如何使用WPF应用程序绑定数据。
答案 0 :(得分:2)
编辑FancyPopup.xaml
添加:
>>> oldlist = ['a','b','c']
>>> newlist = [str(idx + 1) + e for idx, e in enumerate(oldlist)]
>>> print(newlist)
['1a', '2b', '3c']
在后面的代码中,您可以像这样设置视图模型:
<ListView ItemsSource="{Binding TasksCollection, UpdateSourceTrigger=PropertyChanged, Mode=OneWay}">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding TaskName}"/>
</DataTemplate>
<ListView.ItemTemplate/>
</ListView>
然后在你的ViewModel中:
public FancyPopup()
{
InitializeComponent();
this.DataContext = new PopupViewModel();
}
其中TaskDataModel是描述数据模型的类。
public ObservableCollection<TaskDataModel> tasksCollection;
public ObservableCollection<TaskDataModel> TasksCollection
{
get
{
if (tasksCollection == null)
{
tasksCollection = new ObservableCollection<TaskDataModel>();
}
return tasksCollection;
}
set
{
tasksCollection = value;
this.OnPropertyChanged("tasksCollection");
}
}