2013-04-10 38 views
2

我有一個UserControl,它具有可視狀態。當控件構造時,我想移動到其中一個「初始」狀態(不是默認 - 有修改)。VisualStateManager.GoToState()忽略useTransitions

public MyUserControl() 
{ 
    this.InitializeComponent(); 
    Loaded += MyUserControl_Loaded; 
    VisualStateManager.GoToState(this, "HideImageState", false); 
} 

然而,當控制負載可達,有一個明顯的轉變發生(即HideImageState代表之一)。

爲什麼如果我傳入useTransitions?

+1

什麼是HideImageState中的故事板並轉換爲HideImageState? – 2013-04-10 21:19:10

+0

我討厭在這裏生硬,但'GoToState()'不會忽略轉換。你最好包含你的'StoryBoard' XAML,這樣我們就可以看到真正的問題了。 – 2013-05-08 18:49:44

+0

標記正確/最佳答案是禮貌的。 – 2013-06-20 15:28:31

回答

0

由於您沒有提供任何更多信息,因此通過「通常」可以解決的問題很少,可能有所幫助。再次,我從臀部拍攝常見問題...

第一個是你的故事板是不準確的。如果你在Blend中創建了轉場,那麼這不太可能。但是如果你用手編碼它們,那麼目標可能不是你所期望的。

動畫也可能正在發生,但被UI中的其他元素遮擋。當您在無法拉伸的容器內調整對象大小時,有時會發生這種情況。

最後,也是最重要的,如果你的視覺狀態轉換是在被包裹在一個Viewbox那麼你的視圖狀態因某種原因被忽略的用戶控件。

您還有其他可能的原因讓您看到您看到的結果。但是,由於信息太少,我無法繼續猜測。我會假設以上三個原因之一。

祝你好運!