Я подозреваю, что проблема в этой строке
<BG_CalgaryNC_11611_Controls:TranslatableCPNavItem Description="{Binding NavPage, Mode=OneWay}" Source="{Binding DesciptionPageName, Mode=OneWay}" x:Key="target1"/>
Вы не указали источник своего TranslatableCPNavItem
класса, поэтому мне придется сделать предположение на основе кода другого класса, который вы предоставили выше. Я предполагаю, что свойство Description
в этом классе реализовано как «простое» свойство, такое как
public string Description { get; set; }
Вы не можете применить Binding
к такой собственности, как эта. Если вы хотите, чтобы свойство было установлено с помощью привязки, оно должно быть свойством зависимости . Вместо этого он должен выглядеть примерно так:
public string Description
{
get { return (string)GetValue(DescriptionProperty); }
set { SetValue(DescriptionProperty, value); }
}
public static readonly DependencyProperty DescriptionProperty =
DependencyProperty.Register("Description",
typeof(string),
typeof(TranslateableCPNavItem),
null);
Это выглядит довольно много для ввода каждого свойства, которое вы хотите использовать с привязками, но есть фрагмент кода propdp
, который генерирует большую его часть для вас.