绑定到附加的 属性 Grid.Row 和 Grid.Column
Binding to attached property Grid.Row and Grid.Column
我需要绑定到 Grid.Row 和 Grid.Column 等附加属性,但它似乎不起作用。
我尝试了多种选择但没有成功,下面是 xaml 详细信息。
<Grid>
<Grid>
<Grid vm:GridHelper.RowCount="{Binding RowCount}"
vm:GridHelper.ColumnCount="2" />
<ItemsControl ItemsSource="{Binding ControlCollection}">
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Grid.Row" Value="{Binding Path=Row}" />
<Setter Property="Grid.Column" Value="{Binding Path=Column}" />
</Style>
</ItemsControl.ItemContainerStyle>
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Text}" Margin="5,5,20,5" FontSize="12"
TextWrapping="WrapWithOverflow"
Foreground="#AEAEAE" FontFamily="Tahoma" VerticalAlignment="Center"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
为了使 ItemContainerStyle 中的 Grid.Row
和 Grid.Column
setter 有效,您必须使用 Grid 作为 ItemsControl 的 ItemsPanel
:
<ItemsControl ItemsSource="{Binding ControlCollection}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid>
<Grid.RowDefinitions>
...
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
...
</Grid.ColumnDefinitions>
</Grid>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
...
</ItemsControl>
我需要绑定到 Grid.Row 和 Grid.Column 等附加属性,但它似乎不起作用。 我尝试了多种选择但没有成功,下面是 xaml 详细信息。
<Grid>
<Grid>
<Grid vm:GridHelper.RowCount="{Binding RowCount}"
vm:GridHelper.ColumnCount="2" />
<ItemsControl ItemsSource="{Binding ControlCollection}">
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Grid.Row" Value="{Binding Path=Row}" />
<Setter Property="Grid.Column" Value="{Binding Path=Column}" />
</Style>
</ItemsControl.ItemContainerStyle>
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Text}" Margin="5,5,20,5" FontSize="12"
TextWrapping="WrapWithOverflow"
Foreground="#AEAEAE" FontFamily="Tahoma" VerticalAlignment="Center"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
为了使 ItemContainerStyle 中的 Grid.Row
和 Grid.Column
setter 有效,您必须使用 Grid 作为 ItemsControl 的 ItemsPanel
:
<ItemsControl ItemsSource="{Binding ControlCollection}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid>
<Grid.RowDefinitions>
...
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
...
</Grid.ColumnDefinitions>
</Grid>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
...
</ItemsControl>