我在这里查看了很多主题,并搜索了相关信息,但我没有找到与我的问题有关的任何内容.
我想要做的就是让用户启动应用程序时,主窗口(不是MDI)打开时有四个图像框,每个图像框显示一个窗体的图像,当它们点击它时会打开.一旦选定的表单打开并进行了更改,如果他们单击以最小化/关闭表单,它将(看似)最小化到图像框中,显示表单在缩略图视图中的外观的实时图像.
我的问题是,如何将图像制作成图像,以便将图像用作图像框中的缩略图?
此外......有人能指出我的某些资源,这将有助于我弄清楚如何动画"最小化"到图像框?
我不是要求任何人为我做我的工作,因为我想自己学习,但我有点卡住了.
最后,我不确定这涉及到什么,所以我不知道为这篇文章添加什么标签.当我弄清楚时,我会添加标签,以便其他人可以找到这些信息.
编辑:对不起,它在WPF中.不确定它会有什么不同.我在WPF方面仍然没有特别的经验.
您可以使用VisualBrush,这是一个按钮的快速示例,其背景设置为stackpanel的缩小版本.
<DockPanel>
<StackPanel x:Name="myRect" >
<TextBox Text="MyTexasdfasdfasdfasdfasdft" Height="50" />
<CheckBox IsChecked="True" />
<Rectangle Fill="Red" Width="100" Height="100" />
</StackPanel>
<Button>
<Button.Background>
<VisualBrush TileMode="None" Viewport="0,0,1,1" Visual="{Binding ElementName=myRect}" >
<VisualBrush.Transform>
<ScaleTransform ScaleX="0.3" ScaleY="0.3" />
</VisualBrush.Transform>
</VisualBrush>
</Button.Background>
</Button>
</DockPanel>
Run Code Online (Sandbox Code Playgroud)
编辑:虽然这个解决方案可以复制屏幕上的内容,当隐藏或删除屏幕上的内容时,VisualBrush也是如此.为了保持图像,有必要将控件呈现给位图.这可以使用RenderTargetBitMap完成
// CenterControl is the target to render, ShowControl is the control to render the CenterControl onto.
var rtb = new RenderTargetBitmap((int)CenterControl.ActualWidth, (int)CenterControl.ActualHeight, 96, 96,
PixelFormats.Pbgra32);
rtb.Render(CenterControl);
var bgBrush = new ImageBrush(rtb) {Transform = new ScaleTransform(0.1, 0.1)};
ShowControl.Background = bgBrush;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2208 次 |
| 最近记录: |