執行與參數命令目前我有在XAML:使用XAML綁定和視圖模型
<ItemsControl ItemsSource="{Binding Facilities, Mode=OneWay}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border Style="{StaticResource BorderStyleHeader}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="33" />
<RowDefinition Height="33" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Name}" HorizontalAlignment="Center" Grid.Row="0" Grid.Column="1" FontWeight="Bold" />
<TextBlock Text="{Binding Description}" Grid.Row="1" Grid.Column="1" />
<Button Content="Reserveer Nu" Style="{StaticResource ButtonStyle}"
Margin="5" Grid.Row="1" Grid.Column="0"
Command="{Binding Reservation.ItemClicked}"
CommandParameter="{Binding FacilityId}"/>
</Grid>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
現在的第一件事是,我希望該按鈕在我的視圖模型引發事件
public RelayCommand ItemClicked
{
get
{
return new RelayCommand(() =>
{
MessageBox.Show("Something is clicked");
});
}
}
但它拒絕...
其次,我想能夠提高事件的參數(注意commandparameter),但我從來沒有使用它,因此我不明白如何使用它。
所以我的問題:
爲什麼沒有執行我的relaycommand?
如何使用命令參數?
「但它拒絕」:這是什麼意思?你是否收到編譯錯誤?例外?你在輸出窗口中看到綁定錯誤嗎?您無法通過您提供的信息回答您的問題 – 2011-05-03 09:20:18
您正在使用哪種RelayCommand實施?這不是一個標準的類,有多個實現 – 2011-05-03 09:22:30
使用來自MVVM Light(GalaSoft)的RelayCommand – 2011-05-03 10:11:54