1

次のWPFウィンドウを設計しました。

<Window x:Class="Boris.Gui.Wpf.DragDropWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Width="286" Height="350" ResizeMode="CanMinimize" Title="Drag and Drop">

    <Window.Resources>

        <!-- Sorted matches list panel -->
        <ItemsPanelTemplate x:Key="SortedMatchesListPanel">
            <UniformGrid Rows="3" Columns="4" />
        </ItemsPanelTemplate>

    </Window.Resources>

    <Grid>

        <ListBox 
            Name="SortedMatchesListBox" 
            Height="180" 
            Margin="12,85,12,0" 
            HorizontalAlignment="Stretch" 
            VerticalAlignment="Top" 
            ItemsPanel="{StaticResource ResourceKey=SortedMatchesListPanel}" />

    </Grid>

</Window>

実行すると、SortedMatchesListBoxリストにアイテムが入力され、次のようになります。

代替テキスト

私の質問は、UniformGridアイテムパネルでリストアイテムのセルの場所を指定することは可能ですか?たとえば、強調表示されたTeam 2 vs Team 5アイテムをの下に配置することはできTeam 1 vs Team 5ますか?つまり、アイテムを右側の次のセルに移動して、現在存在する空白スペースを保持することはできますか?次のようになります。

代替テキスト

今、私はSortedMatchesListBox.ItemsSourceそれを実現するために空白のアイテムを追加するトリックを使用していますが、私が本当に望んでいるのは、アイテムパネルでアイテムのセルの場所を指定できるようにすることです。助けてくれてありがとう。

4

1 に答える 1

1

ええ、UniformGridでそれを行う方法だと思います。子要素を取り込んで、次に使用可能な位置にスロットします'nXn行列'

正確なセル位置が必要な場合は、行と列の幅が均一なグリッドを使用します。これにより、子要素を配置するセルを正確に指定できます。

于 2010-12-27T10:36:23.997 に答える