1
我正在創建一個可視化設計器,爲此我需要捕捉網格功能,如嘲笑Bird(Demo)提供的功能。有沒有任何項目,用戶控件或資源可以幫助我儘可能快地在silverlight中開發相同的項目。Silverlight對齊網格
我已經能夠完成從工具箱(Listbox)到設計器屏幕中心的畫布的拖放操作。但是對設計師來說,捕捉網格和網格功能非常棒。
我正在創建一個可視化設計器,爲此我需要捕捉網格功能,如嘲笑Bird(Demo)提供的功能。有沒有任何項目,用戶控件或資源可以幫助我儘可能快地在silverlight中開發相同的項目。Silverlight對齊網格
我已經能夠完成從工具箱(Listbox)到設計器屏幕中心的畫布的拖放操作。但是對設計師來說,捕捉網格和網格功能非常棒。
在您的MouseMove例程中,您需要執行額外的調整以允許捕捉。
void MainImage_MouseMove(object sender, MouseMoveEventArgs args){
// ... assume you have calculated newX and newY already
adjustSnap(ref newX, ref newY);
// ... position your element
}
bool _isSnapOn = true;
void adjustSnap(ref double x, ref double y)
{
const double gridWidth = 100;
const double gridHeight = 100;
if (_isSnapOn)
{
if (x % gridWidth < gridWidth/2)
x -= x % gridWidth;
else
x += (gridWidth - x % gridWidth);
if (y % gridHeight < gridHeight/2)
y -= y % gridHeight;
else
y += (gridHeight - y % gridHeight);
}
}
邏輯似乎值得嘗試,現在將它放在工作,並得到回 – Deeptechtons 2012-08-14 09:47:45