我想實現這個使用尤金Akinshin的從這裏代碼:http://forums.silverlight.net/t/237947.aspx/1與屬性綁定在Silverlight
這似乎是一個非常好的方式結合到已經存在的性質和手段的配置都可以在XAML中定義。
但是,我無法得到它的工作。
我定義的模板使用這樣的:
<Converters:TemplateSelectorConverter x:Key="templateConverter">
<Converters:TemplateSelectorCase TemplateReference="Minimised" Template="{StaticResource SmallOrders}"/>
<Converters:TemplateSelectorCase TemplateReference="Restored" Template="{StaticResource MediumOrders}"/>
<Converters:TemplateSelectorCase TemplateReference="Maximised" Template="{StaticResource LargeOrders}"/>
</Converters:TemplateSelectorConverter>
,然後設置我的ListBox
項模板是這樣的:
ItemTemplate="{Binding CurrentState, Converter={StaticResource templateConverter}}"
CurrentState
是的是「最小化」的字符串,'最大化'或'恢復'(我已經編輯了鏈接的例子,以字符串作爲鍵而不是整數),默認情況下設置爲'最小化',但我得到的是一個列表Cannot create [my object type]
在我的ListBox
。
這些模板絕對可以工作,因爲我可以在ViewModel中公開視圖並在代碼中設置DataTemplate,並且存在依賴相同CurrentState
屬性的視覺狀態,所以我知道View可以正確訪問屬性。不幸的是,如果我在轉換器中斷點Convert()
方法,它永遠不會被擊中。
所有建議非常感謝!