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

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

2024.03.28
XML
カテゴリ: C#.NET


はい、`FontFamily`を`Binding`で設定することは可能です。ただし、`FontFamily`プロパティは`FontFamily`型であり、通常は`string`型の`FontFamily`名を直接指定する必要があります。しかし、`Binding`では直接`FontFamily`型をバインドすることはできません。


代わりに、次のようにして`FontFamily`のバインディングを行います。


```xml

<TextBox Text="Sample Text" FontSize="12" FontFamily="{Binding FontFamilyProperty}"/>

```


そして、ViewModelで`FontFamilyProperty`を定義し、そのプロパティに`FontFamily`のインスタンスを設定します。


```csharp

using System.Windows.Media;


public class MainViewModel : INotifyPropertyChanged

{

    private FontFamily _fontFamilyProperty;

    public FontFamily FontFamilyProperty

    {

        get { return _fontFamilyProperty; }

        set

        {

            _fontFamilyProperty = value;

            OnPropertyChanged(nameof(FontFamilyProperty));

        }

    }


    public MainViewModel()

    {

        // 例: FontFamilyを設定する

        FontFamilyProperty = new FontFamily("Arial");

    }


    // INotifyPropertyChanged インターフェースの実装

    public event PropertyChangedEventHandler PropertyChanged;

    protected virtual void OnPropertyChanged(string propertyName)

    {

        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));

    }

}

```


このようにすると、ViewModelから`FontFamily`をバインディングし、TextBoxの`FontFamily`プロパティに適用することができます。






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

Last updated  2024.03.28 04:36:59


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

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