2012-10-31 22 views
0

我想要做類似於Microsoft Powerpoint的操作:我想捕獲當前屏幕(或當前窗口中的一個網格),然後將其設置爲按鈕的內容(例如,那裏有powerpoint是側欄中幻燈片的預覽)。作爲按鈕內容的ScreenShot

這樣做的最好方法是什麼?我目前的想法是將其保存爲PNG,然後將其重新加載爲按鈕內容的圖像,但我確信有更好的方法。

謝謝!

回答

0

試試這個:

<Grid> 
     <Viewbox 
      x:Name="Viewer" 
      Stretch="Uniform" 
      DataContext="{Binding ElementName=Thumbnail1, Path=Data}"> 
      <Grid Width="224" Height="168" SnapsToDevicePixels="True" Margin="4,0,4,0"> 
       <Grid.Background> 
        <VisualBrush Stretch="Uniform" TileMode="None" Visual="{Binding}" AlignmentY="Center"/> 
       </Grid.Background> 
      </Grid> 
     </Viewbox> 
    </Grid> 

我是用儲蓄在開始PNG方法。然後我發現了上面的路。 ViewBox的DataContext是一個畫布。我可以通過這種方式創建我的屏幕實時預覽,但是我的屏幕是畫布對象。

+0

謝謝你的回答。我想在代碼中執行此操作(當我單擊保存時)。我如何在代碼中執行綁定部分? 我也使用畫布。 – Shkolar

+0

將此網格作爲您的按鈕的內容顯示縮略圖。當你點擊保存按鈕時,你可以設置Viewer.DataContext = YourCanvas;如果你喜歡在代碼後面嘗試綁定:var BindingInstance = new Binding(「YourCanvas」){Mode = OneWay}; Viewer.SetBinding(FrameworkElement.DataContextProperty,BindingInstance); – Demir

+0

它的工作原理,但我決定去與PNG,因爲我有帆布和BingMaps。謝謝! – Shkolar