Я создал простой элемент управления Silverlight и определил общедоступное свойство AllowMultiple
.Доступ к общедоступной функции управления пользователями silverlight в коде за кодом
public bool AllowMultiple { get; set; }
Теперь я устанавливаю эту общественную собственность в XAML следующим образом:
<Controls1:PeopleChooser Name="SinglePeopleChooser" AllowMultiple="False" Width="Auto" d:LayoutOverrides="Height"/>
<Controls1:PeopleChooser Name="MultiplePeopleChooser" AllowMultiple="True" Width="Auto" d:LayoutOverrides="Height"/>
Я хочу знать, что является лучшим событием я могу получить значение этой общественной собственности. Я пытаюсь получить это значение внутри конструктора и пытаюсь скрыть/показать некоторые элементы управления внутри своих пользовательских элементов управления, но не работает.
public PeopleChooser()
{
InitializeComponent();
if (AllowMultiple)
{
UsersListBox.Visibility = System.Windows.Visibility.Visible;
UserTextBox.Visibility = System.Windows.Visibility.Collapsed;
ResolveButton.Visibility = Visibility.Collapsed;
}
else
{
UsersListBox.Visibility = System.Windows.Visibility.Collapsed;
UserTextBox.Visibility = System.Windows.Visibility.Visible;
ResolveButton.Visibility = Visibility.Visible;
}
}
Возможно, потому что во время инициализации конструктора значение этого открытого свойства не было назначено инфраструктурой для объекта.
Я думаю, что это должно быть свойство зависимости. –