Сохранение FrameworkElement с его DataContext в файл изображения не удается
У меня есть простой UserControl под названием UserControl1, который содержит TextBlock:
Я инициализировал новый экземпляр этого и дал ему DataContext в коде. когда окно закрывается, я должен нарисовать этот элемент управления в файл изображения. UserControl не отображает ограниченный текст в созданном файле.
и это мой код с помощью usercontrol:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Closing += MainWindow_Closing;
}
void MainWindow_Closing(object sender, CancelEventArgs e)
{
UserControl1 uc = new UserControl1();
uc.DataContext = "hello";
uc.Height = 100;
uc.Width = 100;
uc.Background = Brushes.LightBlue;
DrawToImage(uc);
}
private void DrawToImage(FrameworkElement element)
{
element.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
element.Arrange(new Rect(element.DesiredSize));
RenderTargetBitmap bitmap = new RenderTargetBitmap((int)element.Width, (int)element.Height,
120.0, 120.0, PixelFormats.Pbgra32);
bitmap.Render(element);
BitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bitmap));
using (Stream s = File.OpenWrite(@"C:\555.png"))
{
encoder.Save(s);
}
}
}
Я надеюсь на это'Ясно, что любая помощь будет очень признательна.