所以現在我在我的控件上使用了一個綁定到我的viewmodel上的bool屬性的屬性,名爲seariteitemfound(with its pair,seariteitemnotfound)。我不能只擁有一個屬性,因爲即使我引發OnPropertyChanged(「variableName)」,除非實際值發生變化,它也不會激活觸發器,這意味着在視圖模型的代碼中,我必須真的這樣做難看:如何從視圖模型的視圖中觸發動畫?
SearchedItemNotFound = FALSE; SearchedItemNotFound = TRUE;
private bool _SearchedItemNotFound;
public bool SearchedItemNotFound
{
get
{
return _SearchedItemNotFound;
}
set
{
if (value != _SearchedItemNotFound)
{
_SearchedItemNotFound = value;
OnPropertyChanged("SearchedItemNotFound");
}
}
}
當我真的想是隻綁在視圖模型的事件然而,eventtriggers只會觸發關閉路由事件。我可以在視圖模型中放置路由事件嗎?我想我必須繼承控制權才能做到這一點。
使用
<i:Interaction.Triggers>
<samples:DataEventTrigger EventName="YourEvent">
<im:ControlStoryboardAction Storyboard="{StaticResource Storyboard1}"
ControlStoryboardOption="Play"/>
</samples:DataEventTrigger>
</i:Interaction.Triggers>
這看起來很完美,但它需要Expression Blend和我在Visual Studio 2008中它是不可提及。我想知道我有什麼其他選擇。我甚至不介意它是不是MVVM。我不是純粹主義者,我只是想了解我的選擇。
['Here''](http://stackoverflow.com/questions/21067774/is-accessing-the-viewmodel-in-code-behind-always-violating-the-mvvm-pattern/21067879#21067879)I寫了一個答案,它引用了'ViewModel'中事件的使用。 –