[Silverlight][Windows Phone 7] 用 C# 動態加入Behavior
2010/12/23
很久以前發表過一篇文章 [Silverlight] Blend 做拖曳超簡單…
介紹了使用 MouseDragElementBehavior …
之前的文章是介紹用Blend 讓設計師可以在Design 時期來做…
但是有時候可能需要動態的將一個物件加入Behavior…
先介紹一下頁面配置…
其實就是擺一張圖片進去 名字為 imgSample
看一下 XAML Code :
<UserControl x:Class="DynamicBehaviorSample.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignHeight="500" d:DesignWidth="500"> <Grid x:Name="LayoutRoot" Background="White" Loaded="LayoutRoot_Loaded"> <Image Height="162" HorizontalAlignment="Left" Name="imgSample" Stretch="Fill" VerticalAlignment="Top" Width="213" Source="sample.jpg" /> </Grid> </UserControl>
其實也沒有做啥特別的事情真的是擺一張圖進去…
接下來就是撰寫讓 LayoutRoot 在Loaded 的時候把 MouseDragElementBehavior 加入倒 imgSample裡面…
不過首先我們得先引入兩個 dll
在專案管理員那邊 對Reference 按滑鼠右鰎 選擇 Add Reference
選取 System.Windows.Interactivity 和 Microsoft.Expression.Interactivity.Layout
之後就來看看 如何動態加入
private void LayoutRoot_Loaded(object sender, RoutedEventArgs e) { MouseDragElementBehavior behaviorDrag=new MouseDragElementBehavior(); //透過 Interaction 將 imgSample 加入 MouseDragElementBehavior Interaction.GetBehaviors(imgSample).Add(behaviorDrag); }
透過這兩行就可以讓圖片擁有 MouseDragElementBehavior 的 Behavior …
不過記得
using System.Windows.Interactivity; using Microsoft.Expression.Interactivity.Layout;
ps. 測試過了再 Windows Phone 7 一樣有效.
讚一下:
預覽:
檔案下載:
標籤:
Silverlight,
Windows Phone 7
|
This entry was posted on 下午2:26
and is filed under
Silverlight
,
Windows Phone 7
.
You can follow any responses to this entry through
the RSS 2.0 feed.
You can leave a response,
or trackback from your own site.
訂閱:
張貼留言 (Atom)
0 意見:
張貼留言