Сворачивание Expand при нажатии на его контент XAML
Всем привет!
Подскажите как сделать так, чтобы при клике на содержимое Expand - он сворачивался?
<Expander Header="First Expand">
<ListBox>
<ListBox.Items>
<CheckBox Content="First"/>
<CheckBox Content="Second"/>
<CheckBox Content="Third"/>
</ListBox.Items>
</ListBox>
</Expander>
Это можно сделать через привязку?
Ответы (1 шт):
Автор решения: Pavel
→ Ссылка
Переделал ToggleButton под Expander (просто забиндил Name как Header) оставив логику с разворачиванием.
<ToggleButton Style="{DynamicResource NewToggle}"
Name="First Toggle" Click="Toggle_click">
<ListBox>
<ListBox.Items>
<CheckBox Content="First"/>
<CheckBox Content="Second"/>
<CheckBox Content="Third"/>
</ListBox.Items>
</ListBox>
</ToggleButton>
После того как мы можем делать Click делаем в код-бехайнде:
private void Toggle_click(object sender, RoutedEventArgs e)
{
if (e.OriginalSource.GetType().Name == "CheckBox")
{
var myCheck= (CheckBox)e.OriginalSource;
var MyList = (ListBox)myCheck.Parent;
var myToogle = (ToggleButton)MyList.Parent;
myToogle.IsChecked = false;
}
return;
}
Не самый симпатичный вариант, если кто-то знает лучше - пишите!