如何以編程方式獲取WPF FrameworkElement的當前可視狀態?而狀態我的意思是像「正常」,「MouseOver」,「禁用」等國家如何以編程方式獲取WPF FrameworkElement的當前可視狀態?
編輯: 基本上,我改變了一個按鈕的視覺狀態與VisualStateManager.GoToState(e, "MouseOver", true);
,我想知道什麼狀態在我完成後將它改回。
如何以編程方式獲取WPF FrameworkElement的當前可視狀態?而狀態我的意思是像「正常」,「MouseOver」,「禁用」等國家如何以編程方式獲取WPF FrameworkElement的當前可視狀態?
編輯: 基本上,我改變了一個按鈕的視覺狀態與VisualStateManager.GoToState(e, "MouseOver", true);
,我想知道什麼狀態在我完成後將它改回。
我想你必須知道/記住你自己的按鈕狀態。 VSM只是通過GoToState
方法顯示按鈕的狀態。
編輯:我剛剛發現了一篇文章,介紹如何創建一個可以記住控制狀態的custom VSM。
我認爲你應該使用GoToElementState方法而不是GoToState方法。
VisualStateManager.GoToElementState(LayoutRoot, "Add", true);
奇怪,我甚至沒有看到這種方法。當然,我使用.NET 3.5的WPF工具包中的VisualStateManager,因此它可能與.NET 4.0或Silverlight中內置的不同。 – jpierson 2013-02-18 02:47:32
我覺得你在這裏錯過了WPF的觀點,它不是模型的觀點。你不應該在視圖中存儲狀態。將狀態存儲在您的模型中並使用視圖來表示它。在此基礎上,您不需要閱讀視圖的狀態,您已經知道它。
我知道這可能看起來像很多工作,但它會在以後付錢給你。
您的鏈接已被刪除。 – JohnFx 2013-01-04 21:39:29