1
我正在用C#和WPF編寫2D圖形工具,並且我在Shapes
上使用Adorners
,並將其繪製爲Canvas
。訪問來自Adorner的數據
我希望裝飾者突出顯示當某個形狀被視爲「已選」時,我正在使用MouseDown
和MouseUp
事件。
但是,用戶可以選擇多個形狀,因此不是所有的形狀都會接收這兩個鼠標事件。
我有一個管理繪圖的類,它保存所選形狀的List
。允許裝飾者訪問這些數據的最佳方式是什麼,以便他們能夠看到他們的裝飾元素是否被選中?
有些事情是我認爲:
- 使得
List
全球 - 壞主意 - 子類每個形狀添加一個「選擇」屬性 - 需要改變的形狀的所有引用我類
您還可以實現對的DependencyProperty的PropertyChanged自動設置所選形狀的裝飾器。 – 2010-11-16 11:22:02
我看了標籤,但它們不適用於形狀,只適用於裝飾者!我可以將標籤功能添加到現有的類嗎? – dig412 2010-11-16 11:26:02
這些形狀是從System.Windows.Shapes.Shape派生的橢圓,多邊形和矩形對嗎? Shape類具有Tag屬性。它來自FrameworkElement,所以你應該擁有它:) – 2010-11-16 22:12:25