我有一個顯示類似地理地圖的東西視圖之間的視圖(不視圖模型)的屬性,我有一些UserControls
這個視圖中,他們每個人的顯示有關的DataContext的相關信息,但每可以這麼說,從一個不同的角度來看。分享不同的用戶控件
然後,我的目標是將鼠標懸停在一個UserControl上,突出顯示每個UserControl中的一個功能,當然這個高亮的視覺樣式對每個UserControl都是特定的。
例如,如果我在地圖上有一條路徑,並將其仰角剖面繪製在一個圖中,我想將鼠標懸停在高程剖面上,在該圖上動態顯示垂直線,同時某些標記會動態顯示在地圖上,反之亦然。
我可以做到這一點通過使用搜索本身的一些數值,這將是在每個用戶控件的雙向數據綁定,但也有一些概念上的問題:
- 經典綁定pressuposes一個屬性ViewModel,但「鼠標高亮」功能是特定於視圖(它不表示對象狀態),我絕對不希望將這樣的屬性添加到ViewModel,這會污染視圖特定的代碼;
- 當創建用戶控件,其DataContext的是視圖模型或它的一些屬性。需要將用戶控件的一部分DataContext更改爲不同的對象似乎不是一種建議或簡單的方法;
- 我可以砍了一下,並在視圖中創建一個
Slider
與摺疊的可見性,並與每個UserControl使用ElementBinding,但仍然,我將如何做一個視圖和包含的UserControl之間的ElementBinding?
所以,主要的問題是:
我怎樣才能在View(!不是在視圖模型),以包含在給定的視圖許多用戶控件綁定一個單一的財產?
如果一切是一個單一的,整體的景觀,使用ElementBinding將是顯而易見的選擇對我來說,卻是不同類(一個視圖和多用戶控件),我不知道該怎麼辦ElementBinding,或者即使是做我想做的事情的正確方法。
有趣......我要去看看,謝謝了! – heltonbiker