Binding.Converter プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ソースとターゲットの間で渡されるときにデータを変更するためにバインディング エンジンによって呼び出されるコンバーター オブジェクトを取得または設定します。その逆も可能です。
public:
property IValueConverter ^ Converter { IValueConverter ^ get(); void set(IValueConverter ^ value); };
IValueConverter Converter();
void Converter(IValueConverter value);
public IValueConverter Converter { get; set; }
var iValueConverter = binding.converter;
binding.converter = iValueConverter;
Public Property Converter As IValueConverter
<Binding Converter="converterReference"/>
プロパティ値
データを変更する IValueConverter オブジェクト。
例
バインディングでコンバーターを使用するには、まずコンバーター クラスのインスタンスを作成します。 次の例は、XAML ファイルのリソースとしてこれを示しています。
<UserControl.Resources>
<local:DateToStringConverter x:Key="Converter1"/>
</UserControl.Resources>
<TextBlock Grid.Column="0" Margin="5,0"
Text="{Binding Month, Converter={StaticResource Converter1}}"/>
// Custom class implements the IValueConverter interface.
public class DateToStringConverter : IValueConverter
{
#region IValueConverter Members
// Define the Convert method to change a DateTime object to
// a month string.
public object Convert(object value, Type targetType,
object parameter, string language)
{
// The value parameter is the data from the source object.
DateTime thisdate = (DateTime)value;
int monthnum = thisdate.Month;
string month;
switch (monthnum)
{
case 1:
month = "January";
break;
case 2:
month = "February";
break;
default:
month = "Month not found";
break;
}
// Return the month value to pass to the target.
return month;
}
// ConvertBack is not implemented for a OneWay binding.
public object ConvertBack(object value, Type targetType,
object parameter, string language)
{
throw new NotImplementedException();
}
#endregion
}
注釈
IValueConverter インターフェイスを実装し、Convert メソッドを実装してコンバーターを作成します。 そのメソッドは、バインディングがターゲットとする依存関係プロパティと同じ型のオブジェクト、または少なくとも暗黙的に強制強制またはターゲット型に変換できる型を返す必要があります。