【发布时间】:2014-05-23 08:53:58
【问题描述】:
我在我的第一个 Wpf 项目中使用MahApps,更具体地说是tabControls。我在一个小型测试项目中对其进行了测试。它运行良好,直到我尝试将我的代码合并到我的项目中。
这是我背后的代码示例:
public class Datas
{
public ObservableCollection<string> titles { get; set; }
public Datas()
{
init();
}
public void init()
{
titles = new ObservableCollection<string>()
{
"Title 1",
"Title 2",
"Title 3",
"Title 4"
};
}
}
public partial class Window1 : MetroWindow
{
private Datas datas;
public Window1()
{
init();
}
private void init()
{
datas = new Datas();
this.DataContext = this;
}
}
还有我的 Xaml 代码:
<TabControl DataContext="{Binding Datas}">
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding titles}"/>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<TextBlock Text="Content" />
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
到目前为止,我一直在寻找几天。我找到了一个关于dataBinding to another class 的话题,但它似乎对我不起作用。不确定我是否可以在我的 Window1 类中使用这两个 DataContexts,即使我尝试了类似 binding multiple controls to different dataContexts 的东西。
我真的需要这样的东西吗?它似乎比我需要的要大,但我可能错了。所以,我的问题是我希望我的标签的标题是我列表中的那些,并且它不显示任何内容(但运行时没有错误)。
感谢您的帮助,请慢慢回答,我还是 Wpf 的新手 :)
【问题讨论】:
标签: c# wpf xaml data-binding mahapps.metro