WPF绑定网格.Column属性
我需要通过转换器设置项的Grid.Column属性。 这是我的xaml:WPF绑定网格.Column属性,wpf,data-binding,grid,datatemplate,itemscontrol,Wpf,Data Binding,Grid,Datatemplate,Itemscontrol,我需要通过转换器设置项的Grid.Column属性。 这是我的xaml: <ItemsControl.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding Periodo.Inizio}"> <Grid.Column> <MultiBinding Converter="{StaticResource Item
<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>
但是不要工作。
我确信转换器工作正常…您的文本块将被包装在另一个某种控件中,这意味着任何
网格.XXX
属性都将被忽略。要正确应用这些,需要在ItemsControl.itemsContainerStyle
中进行绑定
应该是这样的:
<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>
您的文本块将被包装在另一个某种控件中,这意味着任何
网格.XXX
属性都将被忽略。要正确应用这些,需要在ItemsControl.itemsContainerStyle
中进行绑定
应该是这样的:
<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?i、 e.…
它应该可以工作,也许绑定或转换器中有问题?好的,问题是Math.天花函数返回一个双精度。现在我将其转换为int32,一切正常。谢谢你会用这样的二传手吗?i、 e.…
它应该可以工作,也许绑定或转换器中有问题?好的,问题是Math.天花函数返回一个双精度。现在我将其转换为int32,一切正常。谢谢