0

ポップアップにストーリーボードアニメーションがあり、これをアプリケーションのすべてのページに表示したいと思います。アニメーションをすべてのXAMLおよびアニメーションを制御するためのすべてのコードビハインドロジックにコピーして貼り付けることなく、これを行うにはどうすればよいですか。また、すべてのページの特定の位置にあるはずのボタンもあります。コードを複製するよりもこれを行うためのより良い方法はありますか?私はすでにPhoneApplicationPageから継承していますが、それはコードビハインドのもののみを処理し、XAMLレイアウトは処理しません。

4

1 に答える 1

1

コードを複製するのではなく、アニメーションのUserControlを作成できます。このユーザーコントロールは、他のユーザーコントロールまたはページで呼び出します。

ユーザーコントロールを追加するには、プロジェクトの[追加]、[新しいアイテム]、[Silverlightユーザーコントロール]の順に右クリックし、それに応じてコントロールに名前を付けます。たとえば、「AnimationUserControl」の最後に[追加]をクリックします。この新しいユーザーコントロールでアニメーションを動作させて、他のコントロールでこの新しいユーザーコントロールを呼び出すには、プロジェクトの参照をユーザーコントロールに追加する必要があります。たとえば、MainPage.xamlで次のようにAnimationUserControlを呼び出します。

<UserControl x:Class="Com.Softechww.Controls.Silverlight.Scheduler.Scheduler"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:ProjectNameSpace" Width="800" Height="450" >

「xmlns:local」という新しい行を追加します。この値はプロジェクトのルートを参照しています。プロジェクトの名前空間は、Visual Studioの[Silverlight]、[デフォルトの名前空間]でプロジェクトファイルを右クリックすると見つかります。

これで、以下のユーザーコントロールで次のように呼び出すだけです。

<Grid x:Name="LayoutRoot">
    <local:AnimationUserControl/>
</Grid>

動作するはずです。

于 2012-04-21T08:30:46.727 に答える