想知道如何使用F#中的代碼完成設置Style xaml。該代碼是很簡單的:F#中的Silverlight自定義控件DefaultStyleKey
this.DefaultStyleKey <- typeof<MyControl>
在C#項目的生成選項允許你標記XAML作爲資源自定義生成的命令:的MSBuild:編譯
我沒有看到它的屬性面板,所以我試圖自己添加它到項目文件我自己...
任何想法?應用程序加載 - 自定義控件沒有輸出(但代碼執行)。
感謝
UPDATE:
我查了清單,並被列入該資源預期我的項目,我移植項目之間...尋找下一個步驟。
更新2:
那麼它可以包括在清單確定 - 但,當我malform的XML,而不是被「編譯」作爲項目的C#版本拋出在構建過程中出現錯誤F#版本允許將畸形的XML引入應用程序。
更新3:
加載XAML是現在很好(我猜),但是我有控制的性能有一定的問題:
static member ItemsProperty : DependencyProperty =
DependencyProperty.Register(
"Items",
typeof<MyMenuItemCollection>,
typeof<MyMenu>,
null);
member this.Items
with get() : MyMenuItemCollection = this.GetValue(MyMenu.ItemsProperty) :?> MyMenuItemCollection
and set (value: MyMenuItemCollection) = this.SetValue(MyMenu.ItemsProperty, value);
的問題發生在訪問:
for menuItem in this.Items do
let contentElement: FrameworkElement = menuItem.Content
我在這裏得到一個空指針異常。但是我有它在構造函數初始化:的XAML文件彙編
do
this.Items <- new CoolMenuItemCollection()
這是我用於主頁面的XAML閱讀器嗎?我有一個運行100%f#silverlight 3.0的基本應用程序。我堅持實踐cusom控制。 在應用程序上,我編譯XAML並將其加載到應用程序對象的實現中。很簡單,一切正常; 我正在移植的自定義控件示例(帶跳舞圖標的菜單組件)包含一個定義控件基本樣式的XAML。受保護的對象DefaultStyleKey 從我的理解(而且它非常少),該屬性需要一個字符串來表示默認樣式XAML的「已編譯」XAML。 – akaphenom 2010-05-18 16:25:50
也許使用控件的style屬性。我可以將XAML作爲資源嵌入,並像我爲應用程序對象一樣加載。 – akaphenom 2010-05-18 16:32:42