Возможное дублирование:
Использование ключевого слова C # virtual + переопределение и новое
Я пытаюсь скрыть свое свойство UserControl
Content следующим образом:
public partial class Tile : UserControl
{
public new object Content
{
get { ... }
set { ... }
}
}
Но когда я устанавливаю Content своего UserControl, он ничего не делает (если я устанавливаю точку останова, она никогда не достигается):
<my:Tile Content="The content"/>
or
<my:Tile>The content</my:Tile>
Почему? Как я могу решить эту проблему?
new
не удаляет, не скрывает и не избавляется от одноименного свойства базовых типов. В вашем случае, когда какой-либо метод использует вашTile
класс в качестве типаUserControl
, он получит доступ к свойствуUserControl.Content
. Это базовое понимание того, как работает C #, и не имеет ничего общего с фреймворком, использующим C #. - person Erik Philips   schedule 21.10.2012DependencyProperty
, а ответ на самом деле не о ключевом словеnew
. - person Sinatr   schedule 10.11.2016