0
我想要做類似於Microsoft Powerpoint的操作:我想捕獲當前屏幕(或當前窗口中的一個網格),然後將其設置爲按鈕的內容(例如,那裏有powerpoint是側欄中幻燈片的預覽)。作爲按鈕內容的ScreenShot
這樣做的最好方法是什麼?我目前的想法是將其保存爲PNG,然後將其重新加載爲按鈕內容的圖像,但我確信有更好的方法。
謝謝!
我想要做類似於Microsoft Powerpoint的操作:我想捕獲當前屏幕(或當前窗口中的一個網格),然後將其設置爲按鈕的內容(例如,那裏有powerpoint是側欄中幻燈片的預覽)。作爲按鈕內容的ScreenShot
這樣做的最好方法是什麼?我目前的想法是將其保存爲PNG,然後將其重新加載爲按鈕內容的圖像,但我確信有更好的方法。
謝謝!
試試這個:
<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是一個畫布。我可以通過這種方式創建我的屏幕實時預覽,但是我的屏幕是畫布對象。
謝謝你的回答。我想在代碼中執行此操作(當我單擊保存時)。我如何在代碼中執行綁定部分? 我也使用畫布。 – Shkolar
將此網格作爲您的按鈕的內容顯示縮略圖。當你點擊保存按鈕時,你可以設置Viewer.DataContext = YourCanvas;如果你喜歡在代碼後面嘗試綁定:var BindingInstance = new Binding(「YourCanvas」){Mode = OneWay}; Viewer.SetBinding(FrameworkElement.DataContextProperty,BindingInstance); – Demir
它的工作原理,但我決定去與PNG,因爲我有帆布和BingMaps。謝謝! – Shkolar