0
목록 상자가 있으며 그 옆에 항목과 삭제 버튼이 표시됩니다. 어떻게 내가 삭제를 실행할 수 있도록 viewmodel 매개 변수를 전달 릴레이 명령을 트리거 할 수 있습니다.silverlight : 항목 옆에있는 버튼을 클릭하여 목록 상자의 항목에서 값을 전달하는 방법
샘플 코드.
<ListBox ItemsSource="{Binding Path=CurrentUserRoles, Mode=TwoWay}" SelectedValuePath="Id" Name="lstRoles" Grid.Row="0" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
<Button Command="{Binding Path=RemoveFromUserRolesCommand, Mode=TwoWay}" Content="Delete">
</Button>
<TextBlock Text=" "></TextBlock>
<TextBlock Text="{Binding Path=Name}"></TextBlock>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
보기 모델 :
private RelayCommand _removeFromUserRolesCommand = null;
public RelayCommand RemoveFromUserRolesCommand
{
get
{
if (_removeFromUserRolesCommand == null)
{
_removeFromUserRolesCommand = new RelayCommand(
() => this.OnARemoveFromUserRolesCommand(),
() => (this._adminModel != null));
}
return _removeFromUserRolesCommand;
}
}
private void OnARemoveFromUserRolesCommand()
{
try
{
if (!_adminModel.IsBusy && SelectedAvailableRole != null)
{
...
}
}
catch (Exception ex)
{
...
}
}
그러나이 작동하지 않습니다. 누구든지이 시나리오를 경험할 수 있도록 Silverlight를 처음 사용하십니까? 공유 할 수 있습니까?