簡體   English   中英

WPF-對齊項目控件中的內容

[英]WPF- Aligning content in an itemscontrol

我在滾動查看器內部有一個itemscontrol,隨着元素越來越靠近屏幕中心,它會變得更大。 問題是,當它變大時,它的左上角被鎖定到位,看起來像這樣。

不是我想要的

我希望它看起來像這樣,但是我不知道如何去做。

我想要什么

編輯:添加了xaml信息,如果需要,請詢問C#(盡管我對此表示懷疑)

<TextBlock Name="text2" Text="hello" Margin="0,15,0,-10"/>
    <ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Disabled"         Height="300" Name="Viewr" Canvas.Top="120" ScrollChanged="Viewr_ScrollChanged">
        <ItemsControl Name="viewrcontent">
            <Canvas Width="100" Height="100" Background="Red"/>
            <Canvas Width="100" Height="100" Background="Red"/>
            <Canvas Width="100" Height="100" Background="Red"/>
            <Canvas Width="100" Height="100" Background="Red"/>
            <Canvas Width="100" Height="100" Background="Orange" Name="hellobox"/>
            <Canvas Width="100" Height="100" Background="Green" Name="midbox"/>
            <Canvas Width="100" Height="100" Background="Black"/>
            <Canvas Width="100" Height="100" Background="Red"/>
            <Canvas Width="100" Height="100" Background="Red"/>
            <Canvas Width="100" Height="100" Background="Red"/>
            <Canvas Width="100" Height="100" Background="Red"/>
            <Canvas Width="100" Height="100" Background="Black"/>
            <ItemsControl.ItemContainerStyle>
                <Style>
                    <Setter Property="FrameworkElement.Margin" Value="5"/>
                </Style>
            </ItemsControl.ItemContainerStyle>
            <ItemsControl.ItemsPanel>
                <ItemsPanelTemplate>
                    <StackPanel Orientation="Horizontal" CanHorizontallyScroll="True"/>
                </ItemsPanelTemplate>
            </ItemsControl.ItemsPanel>
        </ItemsControl>
    </ScrollViewer>

如果將ScaleTransform用作RenderTransform來縮放項目,則可以將RenderTransformOrigin設置為0.5,0.5 ,這將強制項目圍繞其中心縮放。

我認為您可以在后面的代碼中編輯邊距,以獲取所需的行為。 這樣的事情可能會起作用:

midbox.Width += 10;
midbox.Height += 10;
midbox.Margin = new Thickness(midbox.Margin.Left - 5, midbox.Margin.Top, midbox.Margin.Right - 5, midbox.Margin.Bottom);

暫無
暫無

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

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