LightSwitchでは、マスター/詳細画面の詳細セクションに グリッドが表示されます。 "グリッド内のすべての行にボタンがあります。クリックされたボタンの行を見つけるにはどうすればいいですか?
各行の最後の列にボタンが含まれるようにしました。
の背後にあるこのようLightSwitchの表情によって生成されたコード:これらのメソッド内
partial void DoSomething_Execute()
{
}
partial void DoSomething_CanExecute(ref bool result)
{
}
、ボタンが押された正確に知るための方法があり
(つまり、ボタンがどの行で)してくださいグリッド内の任意の行のボタンを押すことができるので、答えは.SelectedItem()ではないことに注意してください。
更新:
私は今、私はまだ答えを知っていただきたいと思い ので、もう少し情報をユーザにデータを表示するために異なるアプローチを取っているが:
(その言語では、顧客は英語を話せません)
ボタンの1つをクリックすると、その行の項目はSelectedItem になりますマイケルが言ったように。これにより、_Executedハンドラの問題は解決されますが、まだ では、ボタンがバインドされているアイテムを知る必要がある_CanExecute()ハンドラにロジックを入れることができません。
partial void DoSomething_CanExecute(ref bool result)
{
result = !SelectedItem.IsClosed;
}
これは、行が選択されると(明らかに)、すべてのボタンを同じ状態に更新するだけです。
解決策があるのでしょうか?
サイドノート:ボタンのアイデアは1回しか使用できないため、ユーザーが問題を閉じる(ボタンを押す)と、有効なグリッドから単に削除されます溶液。後でボタンを画像ボタンに置き換えたいと思います。 – TimothyP