全て
| カテゴリ未分類
| 通常
| 数学
| 投資
| 副業
| 転職・就職
| ブログ
| 株Stock
| VBA
| SharePoint
| REST API
| RenderListDataAsStream
| PowerAutomateDesktop
| Graph API
| PowerApps
| PowerAutomate
| PowerFx
| OfficeScriptオフィススクリプト
| PowerAutomate日時Excel日時相互関係
| PowerShell
| Dataverse
| UiPath
| OneDrive
| LINQ
| VB.NET
| C#.NET
| WPFC#.NET
| Git
| ネットワーク
| Azure
| AWS
| JP1
| セキュリティ
| JavaScript
| Google Cloud
カテゴリ:C#.NET
以下は、C#WPFで`IValueConverter`を使用するサンプルコードです。この例では、`IValueConverter`を実装して、データバインディング中に値の変換を行います。 まず、`IValueConverter`を実装したカスタムのコンバータを作成します。 ```csharp using System; using System.Globalization; using System.Windows.Data; public class AgeToStringConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value is int age) { // 例として、18歳未満なら"未成年"、18歳以上なら"成人"を返す return age < 18 ? "未成年" : "成人"; } return "不明"; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } ``` 次に、このコンバータを使用して値を変換するXAMLファイルを作成します。 ```xml <Window x:Class="ValueConverterExample.MainWindow" 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" xmlns:local="clr-namespace:ValueConverterExample" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> <Window.Resources> <local:AgeToStringConverter x:Key="AgeConverter"/> </Window.Resources> <Grid> <StackPanel> <TextBox x:Name="ageTextBox" Text="{Binding Age, UpdateSourceTrigger=PropertyChanged}"/> <TextBlock Text="{Binding Age, Converter={StaticResource AgeConverter}}"/> </StackPanel> </Grid> </Window> ``` 最後に、ビューモデルを作成してXAMLファイルにバインドします。 ```csharp using System.ComponentModel; public class MainViewModel : INotifyPropertyChanged { private int age; public int Age { get { return age; } set { if (age != value) { age = value; OnPropertyChanged(nameof(Age)); } } } public event PropertyChangedEventHandler PropertyChanged; protected virtual void OnPropertyChanged(string propertyName) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } } ``` このコードでは、`AgeToStringConverter`を使用して`TextBox`に入力された年齢を"未成年"または"成人"に変換して、`TextBlock`に表示しています。 お気に入りの記事を「いいね!」で応援しよう
Last updated
2024.03.14 04:19:37
[C#.NET] カテゴリの最新記事
|