Я пытаюсь заставить UserControl работать в Windows Phone 7. У меня есть несколько свойств, с которыми я хотел бы связать, но они не заполняются независимо от того, добавляю ли я их как DependencyProperties или нет.Единственный способ заставить их работать - это установить вместо них DataContext.Код, который я пробовал (для одного свойства):
public static readonly DependencyProperty MaximumItemsProperty = DependencyProperty.Register("MaximumItems", typeof(int), typeof(ManageIngredientsControl), new PropertyMetadata(0));
/// <summary>
/// Gets or sets the maximum number of items to match.
/// </summary>
/// <value>The maximum number of items to match.</value>
public int MaximumItems
{
get { return Convert.ToInt32(base.GetValue(MaximumItemsProperty)); }
set { base.SetValue(MaximumItemsProperty, value); }
}
<TextBox Grid.Row="1" Grid.Column="1" x:Name="nudMaxIngredients" Width="120" Text="{Binding MaximumItems,Mode=TwoWay,ElementName=root}" InputScope="Number" />
Корневой элемент UserControl называется «root», но значение не заполняется.Единственный способ заставить его работать наполовину - это:
public int MaximumItems
{
get { return Convert.ToInt32(DataContext) }
set { DataContext = value; }
}
Кажется, что-то мешает DataContext, но если я связываюсь с DependencyProperties, почему это важно?