「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

2024.03.18
XML
カテゴリ: C#.NET


C# WPFでBehaviorを使用すると、XAMLにビヘイビアを直接適用することで、コントロールの振る舞いや機能を拡張することができます。以下は、Behaviorを使用する基本的な手順です。


まず、`System.Windows.Interactivity`名前空間を使用できるようにするために、NuGetパッケージ「Microsoft.Xaml.Behaviors.Wpf」をプロジェクトに追加します。


1. **ビヘイビアの作成**:

   次に、自分のビヘイビアを作成します。これには、`Behavior<T>`クラスを継承するクラスを作成し、`OnAttached()`と`OnDetaching()`メソッドをオーバーライドします。以下は、例としてボタンがクリックされたときにメッセージを表示するビヘイビアの作成方法です。


```csharp

using System.Windows;

using System.Windows.Controls;

using System.Windows.Interactivity;


namespace MyBehaviors

{

    public class ClickMessageBehavior : Behavior<Button>

    {

        protected override void OnAttached()

        {

            base.OnAttached();

            AssociatedObject.Click += OnButtonClick;

        }


        protected override void OnDetaching()

        {

            base.OnDetaching();

            AssociatedObject.Click -= OnButtonClick;

        }


        private void OnButtonClick(object sender, RoutedEventArgs e)

        {

            MessageBox.Show("Button clicked!");

        }

    }

}

```


2. **ビヘイビアの適用**:

   作成したビヘイビアをXAMLで使用するために、`xmlns:i`ディレクティブを追加し、ビヘイビアを適用します。


```xml

<Window x:Class="MyApp.MainWindow"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        xmlns:i="http://schemas.microsoft.com/xaml/behaviors"

        xmlns:behaviors="clr-namespace:MyBehaviors">

    <Grid>

        <Button Content="Click me">

            <i:Interaction.Behaviors>

                <behaviors:ClickMessageBehavior/>

            </i:Interaction.Behaviors>

        </Button>

    </Grid>

</Window>

```


これで、ボタンがクリックされたときにメッセージが表示されるようになります。Behaviorは、XAML内で定義された特定のコントロールに適用され、そのコントロールのイベントやプロパティに対する振る舞いを拡張します。






お気に入りの記事を「いいね!」で応援しよう

Last updated  2024.03.18 07:28:40


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

© Rakuten Group, Inc.
Create a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: