Сделать свойство привязки внутренним, а не публичным во ViewModel

Я пробую разные вещи, используя MVVM. В нашей ViewModel свойства, которые привязаны к View являются публичными. Я беру пример привязки кнопки. Вот простой пример.

View.xaml:


ViewModel.cs

private ICommand _testButtonCommand;
public ICommand TestButtonCommand
{
    get { return _testButtonCommand?? (_testButtonCommand= new RelayCommand(SomeMethod)); }
}

Вот мой вопрос, что мы можем сделатьTestButtonCommand внутренний вместо публичного? Внутренние средства доступны для текущего проекта, так что это не должно быть проблемой? Но когда я попытался сделать это,т работал. Добавление точки останова в геттер не было достигнуто. Итак, почему мы не можем сделать это внутренним.

Вот ссылка с MSDN.

http://msdn.microsoft.com/en-us/library/ms743643.aspx

Свойства, которые вы используете в качестве свойств источника привязки для привязки, должны быть открытыми свойствами вашего класса. Явно определенные свойства интерфейса не могут быть доступны для целей привязки, равно как и защищенные, частные, внутренние или виртуальные свойства, которые не имеют базовой реализации.

Почему мы не можем этого сделать? В случае доступа внутренний такой же, как публичный, если работает в том же проекте. Тогда почему мы не можем использовать внутренний здесь. Должна быть причина, по которой они должны быть публичными, и я ищу эту причину.

internal ICommand TestButtonCommand { ...... }

Ответы на вопрос(7)

Ваш ответ на вопрос