WPF Storyboard的屬性鎖定問題

2022-03-22 00:09:03 字數 978 閱讀 7189

比如乙個簡單doubleanimation動畫:

myda = new doubleanimation();

myda.from = this.myobject.opacity;

myda.to = 0.1;

myda.duration = new duration(timespan.frommilliseconds(600));

storyboard.settargetname(myda, "myobject");

storyboard.settargetproperty(myda, new propertypath(canvas.opacityproperty));

mysb = new storyboard(); 

mysb.children.add(myda);

mysb.completed += new eventhandler(mysb_completed);

mysb.begin(myobject);

completed事件:

void mysb_completed(object sender, eventargs e)

透明度為0的動畫結束後,在completed事件中再設為1,程式執行後無效果。

解決方法:

把mysb.begin(myobject);

改成mysb.begin(myobject,true);

再在結束事件中加上:

mysb.remove(myobject);

myobject.opacity = 1;

就沒問題了,因為當乙個屬性作為animation時,相應屬性就會被鎖住,需要用remove釋放掉。而如果想控制storyboard,則必須在begin()時加true引數。

需要注意兩點:1.在remove的同時,已有的animaition效果會消失掉,而不是停在動畫目標值。

2.這個方法只能用於storyboard,如果只寫doubleanimaition就無法解除鎖定。

android layout weight屬性學習

雖然這個android layout weight屬性很怪異,但幸運的是我們達到了目標 按比例顯示linearlayout內各個子控制項,需設定android layout width 0dp 如果為豎直方向的設定android layout height 0dp 在這種情況下某子個控制項占用lin...

ios autoresizingMask屬性的研究

在 uiview 中有乙個autoresizingmask的屬性,它對應的是乙個列舉的值 如下 屬性的意思就是自動調整子控制項與父控制項中間的位置,寬高。1 2 3 4 5 6 7 8 9 enum uiviewautoresizingnone就是不自動調整。uiviewautoresizingfl...

windowSoftInputMode屬性詳解

android windowsoftinputmode是activity主視窗與軟鍵盤的互動模式,可以用來避免輸入法面板遮擋問題,是android1.5後的乙個新特性。這個屬效能影響兩件事情 一 當有焦點產生時,軟鍵盤是隱藏還是顯示。二 是否減少活動主視窗大小以便騰出空間放軟鍵盤。它的設定必須是下面...