猿问

列表框导出到图片

我有一个关于将 ListBox 导出到图像文件的问题。


我在 XAML 中有这个代码:


 <ListBox SelectedItem="{Binding SelectedObject}" 

                 PreviewMouseMove="ListBox_PreviewMouseMove"

                 PreviewMouseDown="ListBox_PreviewMouseDown" Name="platno">

            <ListBox.Template>

                <ControlTemplate>


                    <Border>

                        <Border.Background>

                            <LinearGradientBrush StartPoint="0,0" EndPoint="1,1" Opacity=".3">

                                <GradientStop Color="White" Offset="0"/>

                                <GradientStop Color="GhostWhite" Offset="1"/>

                            </LinearGradientBrush>

                        </Border.Background>


                        <ScrollViewer VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Visible" x:Name="scroll">

                            <Border>

                                <!-- Pozadí s mřížkou -->

                                <Border.Background>

                                    <VisualBrush TileMode="Tile"

                                    Viewport="0,0,50,50" ViewportUnits="Absolute" 

                                    Viewbox="0,0,50,50" ViewboxUnits="Absolute">

                                        <VisualBrush.Visual>

                                            <Rectangle Stroke="Darkgray" StrokeThickness="1" Height="50" Width="50"

                                        StrokeDashArray="5 3"/>

                                        </VisualBrush.Visual>

                                    </VisualBrush>

                                </Border.Background>

                                <ItemsPresenter/>

                            </Border>

                        </ScrollViewer>


                    </Border>


                </ControlTemplate>


            </ListBox.Template>

有了这个视觉。现在我的问题。我在后面有一个代码来导出中央面板,而程序的顶部和左侧没有面板。我在 ListBox 中导出对象时遇到问题。当我tryed这部分导出到图片,我只给放大场景的一部分像这样和方法的背后


UYOU
浏览 156回答 1
1回答

饮歌长啸

如果你不想缩放,你应该在 RenderTargetBitmap 中使用 96 dpi:RenderTargetBitmap&nbsp;rb&nbsp;=&nbsp;new&nbsp;RenderTargetBitmap(Convert.ToInt32(vm.AreaWidth),&nbsp;Convert.ToInt32(vm.AreaHeight),&nbsp;96d,&nbsp;96d,&nbsp;PixelFormats.Pbgra32);
随时随地看视频慕课网APP
我要回答