WPFUIElement的Background的問題

 

 

  <Border Name="border" CornerRadius="15"  Margin="5">
                        <Border.Background>
                            <VisualBrush>
                                <VisualBrush.Visual>
                                    <Image Name="img"  Stretch="UniformToFill" Grid.Row="1" />
                                </VisualBrush.Visual>
                            </VisualBrush>
                        </Border.Background>
                    </Border>

以上代碼 通過 下面的  打印以後  img的Source 改變值以後也不可變了..  spa

   RenderTargetBitmap bitmap = new RenderTargetBitmap((int)grid.ActualWidth, (int)grid.ActualHeight, 96, 96, PixelFormats.Pbgra32);
            bitmap.Render(grid);

            PrintDocument pd = new PrintDocument();
            pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);

            PngBitmapEncoder encode = new PngBitmapEncoder();
            encode.Frames.Add(BitmapFrame.Create(bitmap));
            MemoryStream ms = new MemoryStream();
            encode.Save(ms);
            bitmap.Clear();
            drawimg = System.Drawing.Image.FromStream(ms);
            //rect = new System.Drawing.Rectangle(0, 0, (int)grid.ActualWidth, (int)grid.ActualHeight);
            pd.Print();

 

須要用   border.InvalidateVisual();  從新計算 UI... 緣由未知,先保留code

相關文章
相關標籤/搜索