【问题标题】:WPF Button Height same as ListItem heightWPF 按钮高度与 ListItem 高度相同
【发布时间】:2019-01-25 13:57:57
【问题描述】:

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

有什么方法可以将视图上的另一个单独按钮绑定到 ListBox.ItemTemplate 的 RadioButton 的 ActualHeight 的高度,这样单独按钮的高度将始终与 ListBox 中的 Radiobuttons 的高度相同?

【问题讨论】:

    标签: wpf xaml mvvm data-binding


    【解决方案1】:

    这是一个带有一些代码的解决方案。处理RadioButtonSizeChanged 事件,并将给定高度分配给视图模型的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 事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多