Craig
Craig

Reputation: 1940

How do I display an ItemsControl clockwise in a Grid using UWP XAML?

I want to display a list's items clockwise in a rectangular grid; the list has constant size. I'm trying the below but the text of all items seems to overlap in the grid's first row and column. What am I doing wrong?

    <ItemsControl 
        ItemsSource="{Binding Squares}"
        DisplayMemberPath="Value"
        >
        <ItemsControl.ItemContainerStyle>
            <Style TargetType="ContentPresenter">
                <Setter Property="Grid.Row" Value="{Binding Row}"/>
                <Setter Property="Grid.Column" Value="{Binding Column}"/>
            </Style>
        </ItemsControl.ItemContainerStyle>
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="*" />
                        <RowDefinition Height="*" />
                        <RowDefinition Height="*" />
                        <RowDefinition Height="*" />
                        <RowDefinition Height="*" />
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="*" />
                    </Grid.ColumnDefinitions>
                </Grid>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
    </ItemsControl>

Upvotes: 1

Views: 183

Answers (1)

Michael Hawker - MSFT
Michael Hawker - MSFT

Reputation: 1580

Setters don't support binding in UWP (see docs here).

But there's a workaround posted here.

Upvotes: 1

Related Questions