c# - 如何在 XAML 中复制 'float: right'?

标签 c# .net xaml

我想创建一个 ListBoxItem,其布局包括两个区域,一个“ float :左”和一个“ float :右”,项目总体填充分配给列表框的整个宽度,列表框填充其容器(即扩展以填充可用空间)。

如何在 XAML 中实现这一点?

谢谢

最佳答案

对于“项目整体填充分配给 ListBox 的整个宽度”,您需要这样的样式:

<Style TargetType="ListBoxItem">
    <Setter Property="HorizontalAlignment" Value="Stretch" />
    <Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>

并可选地禁用列表框的水平滚动:

<ListBox ScrollViewer.HorizontalScrollBarVisibility="Disabled" .. >

对于 DataTemplate 的根面板,您可以使用停靠面板:

<DockPanel>
  <SomeControlLeft DockPanel.Dock="Left" Margin="0 0 5 0" />
  <SomeControlRight DockPanel.Dock="Right" Margin="5 0 0 0" />
  <SomeControlFill />
</DockPanel>

或网格:

<Grid>
  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="Auto" />
    <ColumnDefinition Width="5" />
    <ColumnDefinition Width="*" />
    <ColumnDefinition Width="5" />
    <ColumnDefinition Width="Auto" />
  </Grid.ColumnDefinitions>

  <SomeControlLeft Grid.Column="0" />
  <SomeControlRight Grid.Column="4" />
  <SomeControlFill Grid.Column="2" />
</Grid>

关于c# - 如何在 XAML 中复制 'float: right'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7420867/

相关文章:

c# - WebHierarchicalDatagrid 在初始页面加载时不显示任何数据

c# - 控制台应用程序运行代码错误

.net - 在 C# 中使用异步套接字实现 FTP 客户端的问题

wpf - 依赖属性的设计时数据?

c# - MVVM 如何将 ListBox SelectedItem 放入 ViewModel 中的类的实例中

wpf - 旋转后 XAML 图像适合父级

c# - TPL 如何正确取消任务

c# - .Net 中是否有一个类来存储一个值和一个先前的值?

.net - 使用 Dapper-dot-net,如何将 SQL 时间列映射到 .Net 类型?

c# - C# 中控制台的最大列数