如何在Windows 8商店應用程序中基於ViewModel的屬性在View中的UserControl之間進行更改?根據ViewModel的屬性在View中的UserControls之間切換
說我的ViewModel有它看起來像這樣的屬性:
class MyViewModel
{
public string CurrentStatus
{
get { return (string)GetValue(CurrentStatusProperty); }
set { SetValue(CurrentStatusProperty, value); }
}
public static readonly DependencyProperty CurrentStatusProperty =
DependencyProperty.Register("CurrentStatus", typeof(string), typeof(MyViewModel), new PropertyMetadata("default", CurrentStatusChanged));
...
}
如何讓我的視圖根據CurrentStatus
從視圖模型的值更改的用戶控件?
對我來說,strightforward的解決辦法是創建CurrentStatus
從視圖模型和視圖另一個字符串之間的綁定,但顯然數據綁定只能用於DependencyObject
(其中一個字符串不)。
編輯: XAML文件只包含一個StackPanel
中,我想提出一個UserControl
的基礎上,CurrentStatus。所以,如果CurrentStatus
是"one"
我想StackPanel
包含UserControlOne等等......
任何想法或很好的解決方案,以解決這個問題?
非常感謝!
對不起,您的代碼在Windows 8應用程序項目中不起作用。 Visual Studio抱怨說「Windows應用程序項目中不支持」類型「。對於'x:Type',如果我解決了''有問題。 –
2013-02-28 17:01:32
@alex_and_ra我每天都會學到新的東西:)根據[這個答案](http://stackoverflow.com/a/7446841/302677),DataTriggers被[VisualStateManager](http://msdn.microsoft.com)取代。我在WinRT – Rachel 2013-02-28 17:05:26
我從來沒有使用過DataTriggers或VisualStateManager ..我有點新的:)我要去試一試。謝謝! – 2013-02-28 17:19:48