誰かがこれがどのように機能するかに興味がある場合は、ColinEの回答に基づいて解決策を作成しました。まず、XAML コードに追加する条件を含む新しいクラスを作成する必要があります。
public class MyNiceConverterName : IValueConverter {
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {
// Your conditions here!
return value_you_want_to_return; // E.g., a string, an integer and so on
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {
throw new NotImplementedException(); // Leave this like here, don't worry
}
}
必要に応じてクラスを呼び出し (現在は と呼ばれています) 、XAML ファイルに追加する条件を指定しMyNiceConverterName
てメソッドを実装します。Convert()
を使用している型にキャストすることを忘れないでくださいobject value
(たとえば、(int)value
整数の場合)。
これでほぼ完了です!ただし、まだ、XAML でコンバーターをリソースとして宣言します。このコードを名前空間宣言の下に貼り付けることができます。
<Control.Resources>
<converter:MyNiceConverterName xmlns:converter="clr-namespace:My_Namespace" x:Key="MyNiceConverterName" />
</Control.Resources>
クラスを定義した名前空間を宣言し (つまり、自分の名前で削除My_Namespace
)、名前MyNiceConverterName
を自分のクラス名に変更する必要があります。キーは、XAML ドキュメント内でコンバーターを参照するために定義された名前になります。ここでは同じクラス名を使用しましたが、自由に変更できます。
最後に、コンバーターを使用します。これを入れて完了です:
{Binding variable_with_value, Converter={StaticResource MyNiceConverterName}}
variable_with_value
バインディング内で使用したいものに変更することを忘れないでください。
それが役立つことを願っています!