2009-07-30 36 views
2

在數據輸入表單(Silverlight 3)中,我有一個組合框,當用戶更改另一個組合框時,可以更改其選擇 - 想象一下根據國家選擇重新填充狀態列表。向Silverlight控件動態添加脈衝邊界

我想突出顯示這個組合框中的變化,並帶有一個簡單的發光暈輪效果 - 基本上是一個漸漸消失的邊框。我已經使用控件背後的Storyboard和Rectangle創建了這個,但是我確定必須有更好的方法來完成它 - 理想情況下可重用的東西

這是我有:

<Rectangle x:Name="canvas" Height="24" Margin="98,58,79,0" 
    VerticalAlignment="Top" Width="169" Fill="#763DE4E4" 
    Canvas.ZIndex="1" Opacity="0" RadiusX="5" RadiusY="5"/> 

<controls:ChildWindow.Resources> 
    <Storyboard x:Name="HighlightControl"> 
     <DoubleAnimation BeginTime="00:00:00" Storyboard.TargetName="canvas" 
      Storyboard.TargetProperty="(UIElement.Opacity)" From="0" To="1" 
      AutoReverse="True" Duration="0:0:1" /> 
    </Storyboard> 
</controls:ChildWindow.Resources> 

要使用此效果在一個以上的控制我現在有重新定位的矩形和重置故事板,或維持一大堆的矩形和重新定位的故事板。

我考慮使用邊框控件並將其添加到控件中,但這會導致組合移動以適應邊框 - 它需要保持靜止不動,圍繞它的光暈。

更新:看來,模糊效果可以做可視效果位,這是很好的 - 這是不是側面由方矩形更好,所以我只是錯過了可重複使用的效果+動畫位。我想知道這是什麼行爲?

回答

1

你有沒有試過用像這樣的明亮顏色的陰影?

<ComboBox x:Name="comboBox" Margin="248,47,272,0" VerticalAlignment="Top"> 
     <ComboBox.Effect> 
      <DropShadowEffect BlurRadius="100" ShadowDepth="0" Color="White"/> 
     </ComboBox.Effect> 
    </ComboBox> 

然後用故事板或視覺狀態動畫陰影?

+0

感謝下拉陰影也提供了一個很好的外觀,但確實有一個缺點,即每個控件只能同時應用一個單一的效果 - 這也意味着您將退出加速圖形模式IIRC。儘管如此,這部分仍然是可重複使用的故事板部分 - 我可以將一件事情應用於控件並設置它。 – 2009-08-26 16:25:50