2010-01-13 95 views
5

我已經構建了擴展內容控件的自定義控件。在這裏我有一個工作正常的零件和狀態模型。自定義控件上的視覺狀態管理器

然後我用這個作爲我的XAML的根(配股代碼在模板文件夾在Blend)

一切工作正常,我可以打開一個新的「DaveControl」,並得到我想要的功能。

但是,如果我在這裏添加一些視覺狀態,如alertOnScreen,並嘗試使用visualstatemanager它不起作用。

事實上,沒有列出任何州。

SL3行爲GotoVisualState工作正常!

如何獲得視覺狀態在代碼中工作?

+0

通過瀏覽行爲,它需要一個框架元素而不是控件。這工作。 – DavidA 2010-01-13 09:57:19

回答

1

您是否已將該組可用狀態添加爲該類上的一組TemplateVisualState屬性? Blend使用這些來配置其可用狀態列表。

你的類通常應該是這樣的: -

[TemplateVisualState(Name = "MyGroup1State1", GroupName = "MyGroup1")] 
[TemplateVisualState(Name = "MyGroup1State2", GroupName = "MyGroup1")] 
[TemplateVisualState(Name = "MyGroup2State1", GroupName = "MyGroup2")] 
[TemplateVisualState(Name = "MyGroup2State2", GroupName = "MyGroup2")] 
[TemplatePart(...)] 
[TemplatePart(...)] 
public class MyControl : ContentControl 
+0

安東尼, 控制那裏的視覺狀態工作。該控件基本上是一個自定義容器... 我用它作爲我的xaml中的根元素File-> New Dave Control(這種方式我可以從沒有部分類問題的類派生)。現在說這個控件上有一個按鈕'添加地址',需要在舞臺上移動一些東西,定製到這個實例....因此我的問題。 感謝您的迴應,與標題,我相信它會幫助某人。 – DavidA 2010-01-13 10:23:32