この質問は2,3回聞かれましたが、私のシナリオに対する完全な答えを見つけることはできませんでした。リストボックス項目テンプレート内のボタンからのSilverlight呼び出しコマンド
私のプロジェクトでは、リストボックスアイテムとして作成したユーザーコントロールがあります。このユーザーコントロール内Iボタン
<Button x:Name="DetailButton"
Grid.Column="1"
Width="107"
Height="23"
Margin="196,94,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Click="MoreDetail_Click"
Command="{Binding GetCFSDetailCommand}"
Content="View Details [+]" />
ボタンを有し、これは基本的に可視の状態に基づいて、グリッドの行を拡張又は崩壊ビューに固有のクリックイベントを有しています。私はここでイベントを使用しました。このボタンには、VM内で呼び出されるコマンドもあります。
VMは
public class SearchViewModel : INotifyPropertyChanged
{
private DelegateCommand _getCFSDetailCommand;
public DelegateCommand GetCFSDetailCommand
{
get
{
if (this._getCFSDetailCommand == null)
this._getCFSDetailCommand = new DelegateCommand(GetCFSDetailCommandExecute, CanGetCFSDetailCommandExecute);
return this._getCFSDetailCommand;
}
}
private void GetCFSDetailCommandExecute(object parameter)
{
//bind collection to model call here
}
私が午前問題のコードは、リストボックスの項目内で、私はVMにバインドされたビューを持っている場合、ボタン上のコマンドは、「失われない」または決して呼ばれていると私は、このコマンドを配置する場合ビュー内の他のボタンでは、コマンドが呼び出されます。誰でも私はどのようにリストボックスアイテム内のボタンにバインドされたコマンドを呼び出す方法を理解するのを助けることができますか?
は、リストボックスの項目として、ユーザーコントロール内のコマンドを呼び出すには、予め
ありがとうございます。そして、あなたは要素のバインディングに要素を修正することで、親ページからデータコンテキストを失うユーザーコントロール(およびボタンの内部)の問題を解決するのに役立ちました。私はまた、元の投稿の構文についてお詫び申し上げますが、コマンドパラメータは使用されていませんでした。私はコマンドにパラメータを渡そうとしていたので、もともとはそれを持っていましたが、別のアプローチを使用しました。私は混乱を取り除くために元の質問を更新しました – rlcrews