'Is it allowed with MVVM to run a RoutedEventArgs event in the xaml.cs?
For example, if I want to implement a GridViewColumnHeader MenuItem.Click, can I do so in the xaml.cs?
<GridViewColumn DisplayMemberBinding=
"{Binding Path=LastName}"
Width="100">
<GridViewColumnHeader>Last Name
<GridViewColumnHeader.ContextMenu>
<ContextMenu MenuItem.Click="LastNameCM_Click"
Name="LastNameCM">
<MenuItem Header="Ascending" />
<MenuItem Header="Descending" />
</ContextMenu>
</GridViewColumnHeader.ContextMenu>
</GridViewColumnHeader>
</GridViewColumn>
Ok I do it now this way, Thanks for help:
AscendingUserIdClicked = new RelayCommand(OrderByUserId);
DescendingUserIdClicked=new RelayCommand(OrderByDescendingUserId);
private void OrderByUserId(object parameter)
{
AscUserIdIsChecked = true;
DescUserIdIsChecked = false;
Users = new ObservableCollection<User>(Users.OrderBy(x => x.UserId));
}
private void OrderByDescendingUserId(object parameter)
{
AscUserIdIsChecked = false;
DescUserIdIsChecked = true;
Users = new ObservableCollection<User>(Users.OrderByDescending(x => x.UserId));
}
And at Xaml:
<GridViewColumn DisplayMemberBinding="{Binding UserId}" Width="50">
<GridViewColumnHeader>UserId
<GridViewColumnHeader.ContextMenu>
<ContextMenu>
<MenuItem Header="Ascending" Command="{Binding AscendingUserIdClicked}" IsChecked="{Binding AscUserIdIsChecked}"/>
<MenuItem Header="Descending" Command="{Binding DescendingUserIdClicked}" IsChecked="{Binding DescUserIdIsChecked}"/>
</ContextMenu>
</GridViewColumnHeader.ContextMenu>
</GridViewColumnHeader>
</GridViewColumn>
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
