嗨結合觀察到的集合在代碼隱藏我怎麼綁定到此的ObservableCollection如何從XAML
(MainPage.xaml.cs中)
公衆的ObservableCollection標籤=新的ObservableCollection();
in xaml?我試過
(MainPage.xaml中)
但是,如果沒有對XAML任何運氣
嗨結合觀察到的集合在代碼隱藏我怎麼綁定到此的ObservableCollection如何從XAML
(MainPage.xaml.cs中)
公衆的ObservableCollection標籤=新的ObservableCollection();
in xaml?我試過
(MainPage.xaml中)
但是,如果沒有對XAML任何運氣
一個常見的模式是設置一個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} ... />
使用WPF的綁定語法。
<YourControl ItemSource="{Binding tabs} />
您還需要設置上層控制(網格,帆布等)的DataContext的是擁有該標籤集合(類型中的情況下,你沒有重命名你的窗口類的類型,將是窗口1
因此,例如,合併,與上面的XAML片段:
<Grid DataContext="Window1">
....
....
<YourControl ItemSource="{Binding tabs} />
....
....
</Grid>
對不起,不知道它得到了過濾掉我的XAML。這是我試過的,但沒有顯示正確的東西。奇怪的是,如果我從代碼隱藏綁定。 tabcontrol.itemssource = tabs; 它工作正常。儘管如此,我不喜歡綁定在代碼隱藏 – Jakob 2010-05-22 17:39:47
謝謝 - 我只是認爲這是在xaml中做到這一點的最佳做法,但我認爲我會用代碼隱藏itemssource綁定。 – Jakob 2010-05-22 17:47:06