2010-06-08 114 views
1

有沒有辦法在菜單上創建一個菜單項的列表,以便像ObservableCollection一樣填充菜單​​項目列表?WPF中的動態菜單項

我想現在就複製在Visual Studio中,在打開的文檔選項卡編號列表中列出的窗口功能,僅限前10

回答

1

請參閱「合併上下文菜單」from here。您可以通過搜索CompositeCollection和menu/ContextMenu找到更多信息。

編輯:剛纔看到CompositeCollection已經在評論中提到過,但我將在此留作參考。

0

請問你的菜單中獲取數據?它是數據綁定嗎?檢查這個article綁定您的菜單與集合。

現在由您添加邏輯何時添加項目到集合。

例如:在您的方案中,您必須將打開的文檔存儲在列表中。然後,您必須過濾出前10個文檔,並將其添加到文章中指定的MenuItem類的children屬性中。

+0

嗯,真的有點吮吸,我必須把我的靜態菜單項與非靜態項目。如果我沒有得到任何純粹的WPF解決方案,我會接受這是正確的答案。我真的覺得,因爲MS在他們自己的IDE中使用了這個特性,所以他們會將它更多地構建到WPF中,至少有幾個轉換器或者什麼的。 – 2010-06-08 12:32:49

+0

@mattdekrey:什麼是純粹的WPF解決方案?爲什麼這不是一個純粹的WPF解決方案? – Amsakanna 2010-06-08 13:58:43

+0

這是WPF + C# - 我希望能夠用數據綁定完成所有工作,而且不需要任何額外的自定義代碼。我真的想保留我的表示層聲明式(WPF的要點)來減少我的支持類中的邏輯。 – 2010-06-08 18:11:56

0

您可以在代碼中創建菜單項並在表單加載時手動將它們添加到菜單中。這不是優雅的,但它完成了工作。