【发布时间】:2010-10-08 05:02:23
【问题描述】:
我的复选框没有复选标记。如果我只使用一个复选框(实例对象)进行渲染,那么我可以显示复选标记,但我不能使用这个解决方案。我需要能够使用本地复选框呈现它。这个复选框通过“/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml”应用了 Aero 主题,这对我来说也是必须的。其他主题内置主题,如 Royal 和 Luna,带有复选标记。
XAML
<Canvas Name="canvas">
<Button Click="Button_Click" Canvas.Left="440" Canvas.Top="277">
Do Paint
</Button>
<Image Name="image"/>
</Canvas>
C#
private void Button_Click(object sender, RoutedEventArgs e) {
var checkBox = new CheckBox { Width = 100, Height = 30, IsChecked = true, };
var rectangle = new Rect(0, 0, checkBox.Width, checkBox.Height);
//need this
var visualBrush = new VisualBrush(checkBox);
checkBox.Arrange(rectangle);
var renderTargetBitmap = new RenderTargetBitmap((int)rectangle.Width, (int)rectangle.Height, 96, 96, PixelFormats.Default);
renderTargetBitmap.Render(checkBox);
renderTargetBitmap.Freeze();
image.Source = renderTargetBitmap;
}
【问题讨论】:
标签: wpf