【问题标题】:Grid and columnDefinition网格和列定义
【发布时间】:2011-08-16 10:31:28
【问题描述】:

我在 WPF 应用程序中有一个网格。 我想在网格的第一列上显示所有文本块以向右对齐。 所以我想我可以像这样使用 ColumnDefinition 和 Style 来做到这一点:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition>
            <ColumnDefinition.Resources>
                <Style TargetType={x:Type TextBlock}">
                    <Setter Property=....../>
                </Style..
.....

但这不起作用 知道为什么吗?

【问题讨论】:

  • 您的数据网格是否根据您的项目来源自动生成列?

标签: wpf grid styles


【解决方案1】:

这是你想要的吗?

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <Grid.Resources>
        <Style TargetType="{x:Type TextBlock}">
            <Setter Property="Grid.Column" Value="0" />
            <Setter Property="TextAlignment" Value="Right" />
        </Style>
    </Grid.Resources>
    <TextBlock Text="foo" Grid.Row="0"/>
    <TextBlock Text="bar" Grid.Row="1" />
</Grid>

【讨论】:

    【解决方案2】:

    您可能必须尝试使用​​ PropertyTrigger,如下所示:

    <Grid.Resources>
        <Style TargetType="{x:Type TextBlock}">
            <Style.Triggers>
                <Trigger Property="Grid.Column" Value="0">
                    <Setter Property="TextAlignment" Value="Right"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Grid.Resources>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-11
      • 2014-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-17
      • 1970-01-01
      相关资源
      最近更新 更多