0

実行時に(ユーザーのアクションごとに)StackPanelに追加し続ける必要があるUserControlがあります。StackPanel の各項目の右上隅に閉じるボタン (小さな「x」) が必要です。

私はこれを行うことができます: クリックすると StackPanel からアイテムを削除する、マウス ホバーで光る「x」ボタンを持つパネルに UserControl を追加します。

ただし、この問題のより良い解決策を探しています。同様の機能を提供するコントロールはありますか?

TileView を探していました。必要なのは、ユーザー入力ごとに追加され、「タイル」を削除する機能を持つタイルの 1 行だけです。各タイルには、私の UserControl が含まれます。

私にお知らせください、

4

2 に答える 2

1

tileview を使用できますが、ここでも Grid を使用できます。ユーザー コントロールをセルに追加し、他のセルで閉じるボタンを指定できます。閉じるボタンをクリックすると、グリッドからその行を削除できます
。グリッドよりも複数のユーザーコントロールを追加すると、簡単に維持できます。

于 2012-08-30T05:05:43.900 に答える
0

これは、ItemsControl を使用して簡単に行うことができます。選択のない ListBox のように考えてください。少し変更するだけです:

 <ItemsControl HorizontalAlignment="Center" VerticalAlignment="Center">
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Border Padding="4" Background="CornflowerBlue">
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition/>
                        </Grid.RowDefinitions>

                        <Button Content="Close" HorizontalAlignment="Right"/>


                        <Grid Margin="4" Grid.Row="1">
                           <!-- put your usercontrol here -->
                        </Grid>

                    </Grid>
                </Border>
            </DataTemplate>
        </ItemsControl.ItemTemplate>

        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <StackPanel Orientation="Horizontal"/>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
    </ItemsControl>
于 2012-08-31T11:53:26.580 に答える