質問

次のシナリオのベスト プラクティス (または実用的な解決策) を探しています。

を持っています Employee クラス:

public class Employee
{
    public string DisplayName
    { get; set; }

    // It is important that this method has a parameter
    public string GetSomething(string param)
    { return param + DisplayName; }
}

私は持っています List<Employee> XAML の ComboBox にバインドされる型オブジェクト。

各従業員の DisplayName は ComboBox に正しく表示されていますが、GetSomething メソッドの戻り値を表示するにはどうすればよいですか? 全従業員に対する正確なパラメータを使用 DisplayName ではなく従業員ごとに?

メソッドにバインドするのは問題ありませんが、複数のインスタンス (リスト内の従業員オブジェクトごと) にバインドするにはどうすればよいですか? とともに ObjectDataProvider 従業員リストの各従業員オブジェクトではなく、1 つの正確なインスタンス (またはクラス) にのみバインドできます。

役に立ちましたか?

解決

手間を省いてください:ビュー モデルを使用して、各従業員に必要な値を返す個別のプロパティを作成します。より詳細な答えを得るには、パラメーターがどこから来たのかを知る必要があります。

他のヒント

ビューモデルの使用が間違いなく望ましい方法であるという @Kent Boogaart に同意します (ベスト プラクティスでもあります)。

私が以前に (Model-View-ViewModel について詳しく知る前に) 使用したもう 1 つの方法は、 バインディングコンバータ. 。Employee クラスまたは DisplayName プロパティのいずれかにバインドし、そのパラメーターをパラメーターとしてバインディング コンバーターに渡します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top