У меня есть ListBox, в нем у меня есть пользовательский набор DataTemplate для ListBox.ItemTemplate, поэтому элементы ListBox представляют собой радиокнопки, выполненные в виде закругленных кнопок.
Есть ли способ привязать еще одну отдельную кнопку в моем представлении к высоте ListBox.ItemTemplate RadioButton ActualHeight, чтобы высота отдельной кнопки всегда была той же высоты, что и Radiobuttons в ListBox?





Вот решение с некоторым кодом позади. Обработайте событие SizeChanged для RadioButton и назначьте заданную высоту свойству Height модели представления. Привяжите свойство Height отдельной кнопки к свойству Height в модели представления. Вот XAML:
<ListBox ItemsSource = "{Binding Items}">
<ListBox.ItemTemplate>
<DataTemplate>
<RadioButton
Content = "{Binding Name}"
SizeChanged = "OnRadioButtonSizeChanged" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Button
Content = "Button"
Height = "{Binding Height}"
/>
И вот код позади:
private void OnRadioButtonSizeChanged(object sender, SizeChangedEventArgs e)
{
ViewModel.Height = e.NewSize.Height;
}
Конечно, свойство Height модели представления должно вызывать событие PropertyChanged.