Высота кнопки WPF такая же, как высота элемента ListItem - PullRequest
0 голосов
/ 25 января 2019

У меня есть ListBox, в нем у меня есть собственный DataTemplate, установленный для ListBox.ItemTemplate, поэтому элементы ListBox являются переключателями, стилизованными как закругленные кнопки.

Можно ли каким-либо образом связать другую отдельную кнопку в моем представлении с высотой элемента ActBeight RadioButton элемента ListBox.ItemTemplate, поэтому высота отдельной кнопки всегда будет такой же, как у радиобутонов в списке ListBox?

1 Ответ

0 голосов
/ 25 января 2019

Вот решение с некоторым кодом.Обработайте событие 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...