WPF:带有WrapPanel的ListBox,没有滚动条,使用ViewBox缩放的内容,显示所有内容

时间:2016-11-02 20:35:57

标签: c# wpf xaml listbox viewbox

使用WPF ListBox和WrapPanel,有没有办法使用内部内容缩放的ViewBox,但没有任何内容修剪或滚动条?我想缩小所有内部项目。容器的宽度/高度可以缩放,项目数是动态的。

我整理了一个简单的WPF示例(没有任何解决方案)。开放给我们提出建议。

代码示例:

<Window x:Class="WpfListBoxWrapPanel.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"
    mc:Ignorable="d"
    Title="MainWindow"
    Height="230.572"
    Width="426.972">
<Grid>
    <ListBox ItemsSource="{Binding SomeCollection, FallbackValue=123456123456123456123456123456123456}"
             ScrollViewer.HorizontalScrollBarVisibility="Disabled"
             ScrollViewer.VerticalScrollBarVisibility="Disabled">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Grid Width="50"
                      Height="50"
                      Margin="3">
                    <Rectangle Fill="LightCoral"></Rectangle>
                    <TextBlock Text="{Binding}"
                               Margin="4"></TextBlock>
                </Grid>
            </DataTemplate>
        </ListBox.ItemTemplate>
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel />
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>
    </ListBox>
</Grid>

Preview of above rendered code

谢谢!

0 个答案:

没有答案