嘿所以我在Silverlight中有一個自定義控件。其實並不重要,但它是一個帶有樹形視圖,滑塊和其他垃圾的大型組合。將屬性暴露給Silverlight中的Intellisense
現在在控制中我們有一個名爲defaultTemplate的實例變量。它是DataTemplate類型的。基本上它是TreeViewItem用作其頭文件模板的模板,除非應用程序開發人員調用myControl.setTemplate(DataTemplate dt);
只需通過使公共財產,並給予它的getter和setter,它出現時,我鍵入下面的智能感知...
<myNamespace:myControl x:Name="theControl" defa
智能感知上,我班有一個defaultTemplate財產的事實回升並將其列爲選項。
我想什麼:
我想對於上述功能將繼續,但對於智能感知功能添加到自動列出該值的選項。所以我有這些數據模板定義在控件可以訪問的資源字典中。我希望他們能當我到打字的這部分彈出的選項:
<myNamespace:myControl x:Name="theControl" defaultTemplate="_"
我的功能,尋找可以在TextBlock中的前景財產被發現。當你鍵入
foreground=""
其開始列出顏色供您選擇。我將把常量定義爲我的數據模板的名稱,並且從那些或類似的東西中選擇智能感知。
我該如何實現這個目標?謝謝!
澄清編輯:我需要智能感知認識這些都爲XAML屬性接受輸入常數的列表。所以我的defaultTemplate屬性可以只是一個字符串。我將在後面的代碼中處理該字符串的含義。但是我需要intellisense知道哪些字符串可以在XAML中輸入該屬性。一旦您輸入報價,前景色會在智能感知中彈出一個列表,如「Azure,Beige ... LemonChiffon ...」等。我該如何提供智能感知列表? 謝謝!
最後編輯:感謝siege898現在我可以選擇我的defaultTemplate從智能感知爲我提供一個列表值。不過,我也希望能夠給應用程序開發人員(使用我的控件)一個選項來定義他們自己的數據模板並指定它的名稱。
因此,例如,Bob在他的應用程序中使用我的控件。我提供的模板都不適合他。因此Bob在資源字典中創建了一個名爲bobTemplate的應用程序的數據模板。我希望Bob能夠在xaml defaultTemplate="bobTemplate"
的defaultTemplate字段中輸入,並且不會引發錯誤。我相信我現在遇到的問題是因爲該字段在我的枚舉中期待值。有誰知道我可以如何設置這兩個給我下拉列表生成的枚舉,但仍然接受自定義字符串? 我在想一個類型轉換器,但我不知道如何使用它爲我想要的...
謝謝,工作!任何人都知道intellisense如何意識到枚舉值? – NickHalden 2010-08-09 15:38:45