WPF按钮的高度与ListItem的高度相同

时间:2019-01-25 13:57:57

标签: wpf xaml mvvm data-binding

我有一个ListBox,其中有一个为ListBox.ItemTemplate设置的自定义DataTemplate,因此ListBox项是设置为圆形按钮的单选按钮。

是否可以将View上的另一个单独的按钮绑定到ListBox.ItemTemplate的RadioButton的ActualHeight的高度,所以单独的按钮的高度将始终与ListBox中的Radiobutton的高度相同?

1 个答案:

答案 0 :(得分:0)

这是一个带有一些代码的解决方案。处理SizeChanged的{​​{1}}事件,并将给定的高度分配给视图模型的RadioButton属性。将单独按钮的Height属性绑定到视图模型中的Height属性。这是XAML:

Height

这是背后的代码:

<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事件。