View Full Version : ساخت فرم شیشه ای
ordebehesht
سه شنبه 28 آذر 1391, 20:25 عصر
با سلام میخوام فرمی شیشه ای بسازم چی کارکن م دوستان اطلاعات من در حد صفر مطلق هستش انتظار راهنماییی کلی ندارم اگه فیلیمی کتابی مقاله ای دارین دستتون رو هم می بوسم
alihassanabadi
چهارشنبه 29 آذر 1391, 11:55 صبح
سلام
چون اطلاعاتتون در حد صفر نسبی هم نیست مثل من
آموزش بسیار مفید آقای کیانی رو بخون
http://barnamenevis.org/showthread.php?102127-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-WPF-%28%D9%85%D9%82%D8%AF%D9%85%D8%A7%D8%AA%DB%8C-%D8%AA%D8%A7-%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87%29
و در نهایت برای شیشه ای کردن ویندوز میتونید فیلم های آموزشی آقای مهدی فرزاد رو بخونید تو بخش اعلان و الگو برداری کنید
http://barnamenevis.org/showthread.php?251604-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%88%DB%8C%D8%AF%D8%A6%D9%88%DB%8C%DB%8C-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-Blend
موفق باشید.
sajad.net
جمعه 08 دی 1391, 19:01 عصر
می تونی از کلاس زیر استفاده کنی
public class WinGlass
{
struct MARGINS
{
public MARGINS(Thickness t)
{
Left = (int)t.Left;
Right = (int)t.Right;
Top = (int)t.Top;
Bottom = (int)t.Bottom;
}
public int Left;
public int Right;
public int Top;
public int Bottom;
}
[DllImport("dwmapi.dll", PreserveSig = false)]
static extern void DwmExtendFrameIntoClientArea(IntPtr hwnd, ref MARGINS margins);
[DllImport("dwmapi.dll", PreserveSig = false)]
static extern bool DwmIsCompositionEnabled();
public bool ExtendGlassFrame(Window window, Thickness margin)
{
try
{
if (!DwmIsCompositionEnabled())
return false;
IntPtr hwnd = new WindowInteropHelper(window).Handle;
if (hwnd == IntPtr.Zero)
throw new InvalidOperationException("The Window must be shown before extending glass.");
// Set the background to transparent from both the WPF and Win32 perspectives
window.Background = Brushes.Transparent;
HwndSource.FromHwnd(hwnd).CompositionTarget.Backgr oundColor = Colors.Transparent;
MARGINS margins = new MARGINS(margin);
DwmExtendFrameIntoClientArea(hwnd, ref margins);
}
catch{}
return true;
}
}
اینم یه نمونه
alihassanabadi
دوشنبه 11 دی 1391, 09:20 صبح
سلام
البته با opacity ویندوز میشه این کار رو کرد
<Window x:Class="marco.Window4"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window4" Height="300" Width="300" WindowStyle="None" AllowsTransparency="True" Opacity="0.9">
<Grid>
</Grid>
</Window>
توجه اگه خاصیت WindowStyle رو none نکنی با خطا مواجه میشی.
این فقط یک روش ساده بود.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.