我怎么能绑定到这个observablecollection
(MainPage.xaml.cs中)
public ObservableCollection tabs = new ObservableCollection();
在xaml?我试过了
(MainPage.xaml中)
但没有任何运气
答案 0 :(得分:1)
一个常见的模式是在您加载的事件中设置DataContext
,假设您要将其绑定到页面上名为 TabControl
的tabs_control
:
public MainPage()
{
InitializeComponent();
Loaded += OnLoaded;
}
protected void OnLoaded(object sender, RoutedEventArgs e)
{
//Initialize tabs collection
tab_control.ItemsSource = tabs;
}
显然你应该替换你想要绑定的实际控件。
修改强>
根据您的评论,您可以做的只是将控件设置为数据上下文,然后您的XAML绑定应该有效。所以不要超过你,你会这样做:
protected void OnLoaded(obejct sender, RoutedEventArgs e)
{
this.DataContext = this;
}
然后在你的XAMl中你可以这样做:
<TabControl ItemsSource={Binding tabs} ... />
答案 1 :(得分:0)
使用WPF的XAML绑定语法。
<YourControl ItemSource="{Binding tabs} />
您还需要将顶级控件(网格,画布等)的DataContext设置为拥有tabs集合的类型(如果您没有重命名窗口的类,则该类型将是Window1。< / p>
因此,例如,将其与上面的XAML片段相结合:
<Grid DataContext="Window1">
....
....
<YourControl ItemSource="{Binding tabs} />
....
....
</Grid>