Вот что я закончил с ...
tempWidth = myControl.ActualWidth;
tempHeight = myControl.ActualHeight;
myControl.Width = double.NaN;
myControl.Height = double.NaN;
myControl.UpdateLayout();
RenderTargetBitmap rtb = new RenderTargetBitmap((int)myControl.ActualWidth, (int)myControl.ActualHeight, 96, 96, PixelFormats.Pbgra32);
rtb.Render(myControl);
PngBitmapEncoder pbe = new PngBitmapEncoder();
pbe.Frames.Add(BitmapFrame.Create(rtb));
MemoryStream stream = new MemoryStream();
pbe.Save(stream);
image = (System.Drawing.Bitmap)System.Drawing.Image.FromStream(stream);
CEGrid.Width = tempWidth;
CEGrid.Height = tempHeight;
Для второго пункта вы можете использовать terms set query
( документ здесь ).
Этот запрос похож на запрос терминов, но вы будете контролировать, сколько терминов должно совпадать.
Вы можете настроить его с помощью сценария следующим образом:
GET /my-index/_search
{
"query": {
"terms_set": {
"codes" : {
"terms" : ["bed_1","bath_1","price_100000-200000"],
"minimum_should_match_script": {
"source": "params.num_terms"
}
}
}
}
}
потребует, чтобы все параметры соответствовали