0

アイコン付きの ControlPanel スタイルのレイアウトを作成する .NET WinForms または WPF 用のコンポーネントはありますか?
コントロール パネルのようなウィンドウが必要で、その中にさまざまな数のアイコンが表示されます。

4

1 に答える 1

0

例えば:

<UniformGrid>
    <StackPanel Orientation="Horizontal" 
                VerticalAlignment="Top">
        <Image Width="48" 
                Height="48" 
                Source="appbar.forklift.load.png" />
        <TextBlock VerticalAlignment="Center">
            <Hyperlink>Action Center</Hyperlink>
        </TextBlock>
    </StackPanel>
    <StackPanel Orientation="Horizontal" 
                VerticalAlignment="Top">
        <Image Width="48" 
                Height="48" 
                Source="appbar.forrst.png" />
        <TextBlock VerticalAlignment="Center">
            <Hyperlink>Keyboard</Hyperlink>
        </TextBlock>
    </StackPanel>
    <StackPanel Orientation="Horizontal" 
                VerticalAlignment="Top">
        <Image Width="48" 
                Height="48" 
                Source="appbar.forklift.png" />
        <TextBlock VerticalAlignment="Center">
            <Hyperlink>Notification</Hyperlink>
        </TextBlock>
    </StackPanel>
    <StackPanel Orientation="Horizontal" 
                VerticalAlignment="Top">
        <Image Width="48" 
                Height="48" 
                Source="appbar.forklift.load.png" />
        <TextBlock VerticalAlignment="Center">
            <Hyperlink>Region</Hyperlink>
        </TextBlock>
    </StackPanel>
    <StackPanel Orientation="Horizontal" 
                VerticalAlignment="Top">
        <Image Width="48" 
                Height="48" 
                Source="appbar.forklift.load.png" />
        <TextBlock VerticalAlignment="Center">
            <Hyperlink>Speech</Hyperlink>
        </TextBlock>
    </StackPanel>       
</UniformGrid>

必要な数だけ追加できます。それらはあなたのためにレイアウトされます。(本当に欲しいものによっては、ラップパネルの方が良いかもしれません)。

MVVM を使用している場合は、各リンクの「コマンド」プロパティを ViewModel のコマンドにバインドできます。

<HyperLink Command="{Binding OpenActionLinkCenterCommand}">Action Center</HyperLink>

アイテムをコレクションから取得する場合は、ItemsContainer または ListBox を使用して、ItemsPanel テンプレートを変更できます。

<ListBox ItemsSource="{Binding YourControlPanelItems}">
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <UniformGrid/>
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>
</ListBox>

もちろん、それを行う方法は他にもたくさんあります。これはほんの一例です。

于 2012-12-07T02:14:20.880 に答える