我怎样才能在XAML中复制'float:right'?

Mal*_*ker 8 .net c# xaml

我想创建一个ListBoxItem,其布局包含两个区域,一个'float:left'和一个'float:right',项目整体填充分配给ListBox的整个宽度,ListBox填充其容器(即扩展)填补可用空间).

我怎样才能在XAML中实现这一目标?

谢谢

spr*_*y76 8

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

<Style TargetType="ListBoxItem">
    <Setter Property="HorizontalAlignment" Value="Stretch" />
    <Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
Run Code Online (Sandbox Code Playgroud)

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

<ListBox ScrollViewer.HorizontalScrollBarVisibility="Disabled" .. >
Run Code Online (Sandbox Code Playgroud)

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

<DockPanel>
  <SomeControlLeft DockPanel.Dock="Left" Margin="0 0 5 0" />
  <SomeControlRight DockPanel.Dock="Right" Margin="5 0 0 0" />
  <SomeControlFill />
</DockPanel>
Run Code Online (Sandbox Code Playgroud)

或网格:

<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>
Run Code Online (Sandbox Code Playgroud)