CommandParameter в ContextMenu возвращает ноль - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь выполнить некоторые действия с выбранным элементом из DataGrid с помощью ContextMenu.Я использую команду и параметр команды.проблема в том, что параметр команды возвращает ноль, и программа сворачивается, прежде чем я действительно могу выбрать элемент в сетке.Вот мой код

<Window.Resources>
    <local:DataViewModel x:Key="dvm"/>
</Window.Resources>
<DataGrid.ContextMenu>
                <ContextMenu x:Name="contextMenu">
                    <MenuItem Header="Suggest sollution" Command="{Binding 
SuggestSollution, Source={StaticResource dvm}}" CommandParameter="{Binding 
RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type 
ContextMenu}}, Path=PlacementTarget.SelectedItem}"></MenuItem>
                    <Separator/> 
                </ContextMenu>
            </DataGrid.ContextMenu>

Класс viewModel:

Private _SuggestSollution As RelayCommand
Public Sub New()
    _TestCollection.Add(New Test(3, 23, 26, "delete * from database", 92, 0, 0, " ", Nothing))

    _SuggestSollution = New RelayCommand(AddressOf DisplaySomemessage, AddressOf ObjectCanUseOpen)
End Sub

'Methods

Public Sub DisplaySomemessage(ByVal message As Object)
    'Some action
End Sub

Public Function ObjectCanUseOpen(ByVal obj As Object) As Boolean
    If (TryCast(obj, Test).ErrorInTest Is Nothing) Then
        Return False
    End If
    Return True
End Function

У меня есть ошибка в этой строке

If (TryCast(obj, Test).ErrorInTest Is Nothing)

System.NullReferenceException, говорящая о том, что TryCast возвращаетНичего

Есть предложения?Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...