【问题标题】:WPF Bind Grid.Column PropertyWPF 绑定 Grid.Column 属性
【发布时间】:2011-03-24 12:34:44
【问题描述】:

我需要通过转换器设置项目的 Grid.Column 属性。 这是我的 xaml:

<ItemsControl.ItemTemplate>
    <DataTemplate>
        <TextBlock Text="{Binding Periodo.Inizio}">
            <Grid.Column>
                <MultiBinding Converter="{StaticResource ItemColumnSetter}">
                    <Binding RelativeSource="{RelativeSource Self}" />
                    <Binding RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=local:Timeline}" Path="StartDate" />
                    <Binding RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=local:Timeline}" Path="EndDate" />
                    <Binding Path="Periodo.Inizio" />
                </MultiBinding>
            </Grid.Column>
        </TextBlock>
    </DataTemplate>
</ItemsControl.ItemTemplate>

但不工作。 我确信转换器运行良好......

【问题讨论】:

  • 您忘记添加代码示例。

标签: wpf data-binding grid datatemplate itemscontrol


【解决方案1】:

您的 TextBlock 将被包装在某种其他控件中,这意味着任何 Grid.XXX 属性都将被忽略。要正确应用这些,您需要在 ItemsControl.ItemContainerStyle 中进行绑定。

应该是这样的:

<ItemsControl.ItemContainerStyle>
    <Style>
        <Setter Property="Grid.Column">
            <Setter.Value>
                <MultiBinding Converter="{StaticResource ItemColumnSetter}">
                    <Binding RelativeSource="{RelativeSource Self}" />
                    <Binding RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=local:Timeline}" Path="StartDate" />
                    <Binding RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=local:Timeline}" Path="EndDate" />
                    <Binding Path="Periodo.Inizio" />
                </MultiBinding>
            </Setter.Value>
        </Setter>
    </Style>
</ItemsControl.ItemContainerStyle>

【讨论】:

  • 你用过这样的setter吗?即&lt;Setter Property="Grid.ColumnSpan"&gt;&lt;Setter.Value&gt;...它应该可以工作,也许你的绑定或转换器有问题?
  • 好的,问题是 Math.Ceiling 函数返回一个双精度值。现在我将它转换为 int32 并且一切正常。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-08
  • 2011-02-01
  • 2021-11-10
  • 2014-07-30
相关资源
最近更新 更多