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

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

2024.03.31
XML
カテゴリ: C#.NET


以下は、動的リソース (DynamicResource) を使用したサンプルコードです。この例では、ボタンの背景色をダークモードとライトモードの間で切り替える簡単なアプリケーションを示します。


```xml

<Window x:Class="DynamicResourceExample.MainWindow"

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

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

        Title="DynamicResource Example" Height="200" Width="300">

    <Grid>

        <!-- ダークモードとライトモードの背景色を動的リソースとして定義 -->

        <Grid.Resources>

            <SolidColorBrush x:Key="DarkModeBackground" Color="DarkGray" />

            <SolidColorBrush x:Key="LightModeBackground" Color="White" />

        </Grid.Resources>


        <!-- ボタンの背景色を動的リソースにバインド -->

        <Button Content="Toggle Theme" HorizontalAlignment="Center" VerticalAlignment="Center"

                Background="{DynamicResource ThemeBackground}" Click="ToggleButton_Click"/>

    </Grid>

</Window>

```


```csharp

using System.Windows;


namespace DynamicResourceExample

{

    public partial class MainWindow : Window

    {

        public MainWindow()

        {

            InitializeComponent();

        }


        private void ToggleButton_Click(object sender, RoutedEventArgs e)

        {

            // 現在のテーマを判定し、対応する背景色を設定

            if (Resources["ThemeBackground"] == Resources["DarkModeBackground"])

            {

                Resources["ThemeBackground"] = Resources["LightModeBackground"];

            }

            else

            {

                Resources["ThemeBackground"] = Resources["DarkModeBackground"];

            }

        }

    }

}

```


このコードでは、`MainWindow` の XAML ファイルで `DynamicResource` を使用して、ダークモードとライトモードの背景色を定義しています。`ToggleButton_Click` メソッドでは、ボタンがクリックされるたびに現在のテーマを判定し、適切な背景色を設定します。これにより、ボタンの背景色がダークモードとライトモードの間で切り替わる効果が得られます。


このように、`DynamicResource` を使用することで、アプリケーションの外観をリアルタイムで変更することができます。






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

Last updated  2024.03.31 14:18:27


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

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