簡體   English   中英

WrapPanel WPF中的StackPanels

[英]StackPanels in WrapPanel WPF

在此處輸入圖片說明

目標是創建這樣的布局。

我來自iOS開發並且是WPF開發的新手,所以我的想法是轉到具有iOS的4種多媒體元素的StackViews的CollectionViews,但是我知道WPF的工作原理與iOS截然不同。 因此,我將在WPF中使用StackPanels和WrapPanels,如果我的解決方案不正確,請給我一個更好的解決方案。

<Window x:Class="WPF_MultiViewer.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WPF_MultiViewer"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <WrapPanel>
            <StackPanel x:Name="MyStackPanel">
                <StackPanel Orientation="Horizontal">
                    <Button Height="100" Width="80">Button1</Button>
                    <Button Height="100" Width="80">Button2</Button>
                </StackPanel>

                <StackPanel Orientation="Horizontal">
                    <Button Height="100" Width="80">Button1</Button>
                    <Button Height="100" Width="80">Button2</Button>
                </StackPanel>
            </StackPanel>
        </WrapPanel>
    </Grid>
</Window>

結果是這個 在此處輸入圖片說明

我知道,如果我要對其進行硬編碼並復制粘貼12次,那么它將起作用,但問題是我想創建一個模板,然后動態創建它,例如在一列中動態創建12次4個堆棧面板。 為了輕松控制和維護它,如何在WPF中實現它?

給您一個使用示例:

<ItemsControl x:Name="Stacks" Grid.Column="0" ItemsSource="{Binding example}">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <StackPanel Orientation="Whatever you want"/>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Button Content="{Binding Eaxmple}"/>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>

在WPF中,您可以使用MVVM(模型-視圖-視圖模型)模式。 如果要動態創建元素,則還可以在wpf中使用一個名為“ Prism”的庫。 https://www.c-sharpcorner.com/article/how-to-add-the-dynamic-control-in-to-the-view-from-view-mode/是一個小教程,介紹了如何創建運行時的元素。

根據您的要求,我將使用網格,並且ViewModel可以為定義的行和列動態創建元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM