Мы можем подключить DockPanel.Dock к расширителю, но мы не можем подключить ToggleButton.IsChecked. Зачем?Почему я не могу подключить ToggleButton.IsChecked к Expander
<Expander DockPanel.Dock='Bottom'> <!--Compile-->
<Expander ToggleButton.IsChecked='True'> <!--Doesn't compile-->
Я нашел ответ в источнике:
От ToggleButton:
public static readonly DependencyProperty IsCheckedProperty =
DependencyProperty.Register(
"IsChecked",
typeof(bool?),
typeof(ToggleButton),
new FrameworkPropertyMetadata(
BooleanBoxes.FalseBox,
FrameworkPropertyMetadataOptions.BindsTwoWayByDefault | FrameworkPropertyMetadataOptions.Journal,
new PropertyChangedCallback(OnIsCheckedChanged)));
Форма DockPanel:
public static readonly DependencyProperty DockProperty =
DependencyProperty.RegisterAttached(
"Dock",
typeof(Dock),
typeof(DockPanel),
new FrameworkPropertyMetadata(
Dock.Left,
new PropertyChangedCallback(OnDockChanged)),
new ValidateValueCallback(IsValidDock));
Dock
зарегистрирован RegisterAttached
методом вместо Register
.
Вы пытаетесь использовать внешнюю кнопку переключения, чтобы развернуть Expander или просто пытаетесь развернуть Expander по умолчанию? –
Я просто пытаюсь добавить свойство «IsChecked» этому расширителю. Он не предназначен для привязки к свойству IsExpanded. –
Непонятно, почему вы хотели бы это сделать, поскольку у Expander есть «ToggleButton», и он устанавливает свое собственное состояние с помощью собственного свойства IsChecked, кроме «ToggleButton'' ControlTemplate'. Ответ на познание ниже отвечает на ваш вопрос. –