none
İnternet Explorer9 deki Başlık Çubuğu gibi Başlık Çubuğuna TextBox, Buton felan eklemek ?

Yanıtlar

  •  

    Merhaba , Abdulkadir 
    Konu kapatılmış olarak göründüğü için soruna cevap gelmemiş bu yüzden sorularınızı ayrı başlıklar altında sormanızı tavsiye ederim.Daha çabuk çözüm bulabilirsiniz.
    Çözüm önerime gelecek olursak Önay Hocam'ın dediklerini yaptıysan artık Express Blend4 kullandığını varsayarak aşağıdaki kodları denemeni öneririm..
    Kodlar xaml dosyasına yazılacak .

    <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      WindowTitle="SystemColors Example" Background="White">  
      <StackPanel Margin="20">
        <Button 
          Background="{DynamicResource {x:Static SystemColors.DesktopBrushKey}}" 
          Content="Hello, World!" />
      </StackPanel>
    </Page>

    Ayrıntılı Bilgi :http://stackoverflow.com/questions/4968562/wpf-windows-background-color 

    Eğer kaynak yeterli olmazsa arama yapmak için anahtar kelimeleriniz 
    WPF BackgrounColor
    WPF Main Window Color 
    şeklinde arama yaparsan yeterli bilgiye ulaşacağını düşünüyorum ... 
    Kolay Gelsin ..





    10 Haziran 2012 Pazar 21:06
  • using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Shapes;
    using System.Runtime.InteropServices;
    using System.Windows.Interop;
    
    namespace WpfApplication1
    {
    
    
    
    	/// <summary>
    	/// Interaction logic for MainWindow.xaml
    	/// </summary>
    	public partial class MainWindow : Window
    	{
    
    		[StructLayout(LayoutKind.Sequential)]
    		public struct MARGINS
    		{
    			public int cxLeftWidth;      // width of left border that retains its size
    			public int cxRightWidth;     // width of right border that retains its size
    			public int cyTopHeight;      // height of top border that retains its size
    			public int cyBottomHeight;   // height of bottom border that retains its size
    		};
    
    
    		[DllImport("DwmApi.dll")]
    		public static extern int DwmExtendFrameIntoClientArea(
    			IntPtr hwnd,
    			ref MARGINS pMarInset);
    
    		public MainWindow()
    		{
    			this.InitializeComponent();
    
    			// Insert code required on object creation below this point.
    		}
    
    		private void Window_Loaded(object sender, System.Windows.RoutedEventArgs e)
    		{
    			try
    			{
    				// Obtain the window handle for WPF application
    				IntPtr mainWindowPtr = new WindowInteropHelper(this).Handle;
    				HwndSource mainWindowSrc = HwndSource.FromHwnd(mainWindowPtr);
    				mainWindowSrc.CompositionTarget.BackgroundColor = Color.FromArgb(0, 0, 0, 0);
    				this.Background = new SolidColorBrush(Color.FromArgb(0, 255, 255, 255));
    				// Get System Dpi
    				System.Drawing.Graphics desktop = System.Drawing.Graphics.FromHwnd(mainWindowPtr);
    				float DesktopDpiX = desktop.DpiX;
    				float DesktopDpiY = desktop.DpiY;
    
    				// Set Margins
    				MARGINS margins = new MARGINS();
    
    				// Extend glass frame into client area
    				// Note that the default desktop Dpi is 96dpi. The  margins are
    				// adjusted for the system Dpi.
    				margins.cxLeftWidth = Convert.ToInt32(5 * (DesktopDpiX / 96));
    				margins.cxRightWidth = Convert.ToInt32(5 * (DesktopDpiX / 96));
    				margins.cyTopHeight = Convert.ToInt32(((int)topBar.ActualHeight + 5) * (DesktopDpiX / 96));
    				margins.cyBottomHeight = Convert.ToInt32(5 * (DesktopDpiX / 96));
    
    				int hr = DwmExtendFrameIntoClientArea(mainWindowSrc.Handle, ref margins);
    				//
    				if (hr < 0)
    				{
    					//DwmExtendFrameIntoClientArea Failed
    				}
    			}
    			catch (DllNotFoundException)
    			{
    			    Application.Current.MainWindow.Background = Brushes.White;
    			}
    		}
    	}
    }
    evet unutmuşum

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    02 Haziran 2012 Cumartesi 19:13
    Moderatör

Tüm Yanıtlar

  • Merhaba Abdulkadir,
    BindingNavigator kullanarak bu dediklerini yapabilirsin ... bir araç çubuğu oluşturabilir ve buton label textbox gibi nesneler ekleyebilirsin şeffaf olması içinde linkleri incelemeni tavsiye ederim ...

    http://www.csharpnedir.com/forum2/printer_friendly_posts.asp?TID=5249

    http://www.c-sharpcorner.com/uploadfile/scottlysle/xparentformscs10282007212944pm/xparentformscs.aspx

    http://www.codeproject.com/Articles/6502/Transparency-Tutorial-with-C-Part-1

    Umarım işinize yarar
    Kolay Gelsin...

     

    erenbozarik[at]hotmail[nokta]com

    27 Mayıs 2012 Pazar 15:45
  • Öncelikle teşekkür ederim cevap ve ilginiz için ama ben yapmak istediğimi tam olarak anlatamadım herhalde yapmak istediğim tam olarak şu :

    Bunun gibi başlık çubuğuna (kapat, aşağı indir ve tam ekran yap butonlarının olduğu yere) istediğim nesneleri eklemek. Nasıl yapabilirim ?

    30 Mayıs 2012 Çarşamba 13:57
  • Kendinize bir userkontrol yapabilirsiniz. içinde dropdown ve buttonlar olan.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    30 Mayıs 2012 Çarşamba 14:27
    Moderatör
  • nasıl yapabilirim bunu ???
    30 Mayıs 2012 Çarşamba 15:02
  • nasıl sorusunun yanıtı geniş olur biraz. 

    genel olarak anlatmaya çalışayım.

    • Projenize UserControl ekleyin
    • bir panel ekleyin ve dock = fill yapın
    • görsel olarak benzetmek için border styleını 3D yapın back colorunuda beyaz yapın
    • sonra 16x16 picturebox ekleyin 
    • combobox ekleyin
    • butonlarınızı ekleyin
    • butonlara ait delegate ve eventlerinizi tanımlayın.
    • kullanacağınızda toolbox tan formunuz üzerine sürükleyin

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC



    30 Mayıs 2012 Çarşamba 19:09
    Moderatör
  • Yine anlatamadım herhalde.

    Aşağıdaki resme bakın lütfen...

    31 Mayıs 2012 Perşembe 14:36

  • e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    31 Mayıs 2012 Perşembe 18:23
    Moderatör
  • Evet yaa tam istediğim şey :D Nasıl yaptın bunu ???
    Ayrıca arka plandaki kullandığın editör ne ? Visual Studio 2010 mu daha iyi o mu ???
    01 Haziran 2012 Cuma 11:16
  • ExpressionBlend4 ile WPF projesi yaptım, ancak üstteki şeffaf alanı yapmak için Margin belirtmek gerekiyor bunu da DllImport ile Vista ve Windows7 de olan dwm.exe ye bağlı bir dll'i import ettim ama aklımda değil şu an eve gidince yazarım.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    01 Haziran 2012 Cuma 11:55
    Moderatör
  • Teşekkürler. Bekliyorum...
    01 Haziran 2012 Cuma 11:59
  • Unuttunuz mu yoksa :O :D

    02 Haziran 2012 Cumartesi 16:14
  • using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Shapes;
    using System.Runtime.InteropServices;
    using System.Windows.Interop;
    
    namespace WpfApplication1
    {
    
    
    
    	/// <summary>
    	/// Interaction logic for MainWindow.xaml
    	/// </summary>
    	public partial class MainWindow : Window
    	{
    
    		[StructLayout(LayoutKind.Sequential)]
    		public struct MARGINS
    		{
    			public int cxLeftWidth;      // width of left border that retains its size
    			public int cxRightWidth;     // width of right border that retains its size
    			public int cyTopHeight;      // height of top border that retains its size
    			public int cyBottomHeight;   // height of bottom border that retains its size
    		};
    
    
    		[DllImport("DwmApi.dll")]
    		public static extern int DwmExtendFrameIntoClientArea(
    			IntPtr hwnd,
    			ref MARGINS pMarInset);
    
    		public MainWindow()
    		{
    			this.InitializeComponent();
    
    			// Insert code required on object creation below this point.
    		}
    
    		private void Window_Loaded(object sender, System.Windows.RoutedEventArgs e)
    		{
    			try
    			{
    				// Obtain the window handle for WPF application
    				IntPtr mainWindowPtr = new WindowInteropHelper(this).Handle;
    				HwndSource mainWindowSrc = HwndSource.FromHwnd(mainWindowPtr);
    				mainWindowSrc.CompositionTarget.BackgroundColor = Color.FromArgb(0, 0, 0, 0);
    				this.Background = new SolidColorBrush(Color.FromArgb(0, 255, 255, 255));
    				// Get System Dpi
    				System.Drawing.Graphics desktop = System.Drawing.Graphics.FromHwnd(mainWindowPtr);
    				float DesktopDpiX = desktop.DpiX;
    				float DesktopDpiY = desktop.DpiY;
    
    				// Set Margins
    				MARGINS margins = new MARGINS();
    
    				// Extend glass frame into client area
    				// Note that the default desktop Dpi is 96dpi. The  margins are
    				// adjusted for the system Dpi.
    				margins.cxLeftWidth = Convert.ToInt32(5 * (DesktopDpiX / 96));
    				margins.cxRightWidth = Convert.ToInt32(5 * (DesktopDpiX / 96));
    				margins.cyTopHeight = Convert.ToInt32(((int)topBar.ActualHeight + 5) * (DesktopDpiX / 96));
    				margins.cyBottomHeight = Convert.ToInt32(5 * (DesktopDpiX / 96));
    
    				int hr = DwmExtendFrameIntoClientArea(mainWindowSrc.Handle, ref margins);
    				//
    				if (hr < 0)
    				{
    					//DwmExtendFrameIntoClientArea Failed
    				}
    			}
    			catch (DllNotFoundException)
    			{
    			    Application.Current.MainWindow.Background = Brushes.White;
    			}
    		}
    	}
    }
    evet unutmuşum

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    02 Haziran 2012 Cumartesi 19:13
    Moderatör
  • Bunu bir dll olarak kaydetip tüm projelerimde kullanabilir miyim ? yapabilirsem nasıl yapabilirim ? Eğer bununda cevabını verirseniz gerçekten çok sevinirim :D
    Ayrıca kodları yapıştırdığımda topBar kısmı hata verdi neden ?
    02 Haziran 2012 Cumartesi 19:53
  • Neyse sorunu çözdüm. XAML kodlarını vermeyi unutmuşsun. Onuda ben koyim belki başkalarına lazım olur.

    <Window x:Class="SDKSample.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Extended Glass in WPF" Height="300" Width="400" 
        Loaded="OnLoaded" Background="Transparent"
        >
      <Grid ShowGridLines="True">
        <DockPanel Name="mainDock">
          <!-- The border is used to compute the rendered height with margins.
               topBar contents will be displayed on the extended glass frame.-->
          <Border Name="topBar" DockPanel.Dock="Top" >
            <Grid Name="grid">
              <Grid.ColumnDefinitions>
                <ColumnDefinition MinWidth="100" Width="*"/>
                <ColumnDefinition Width="Auto"/>
              </Grid.ColumnDefinitions>
              <TextBox Grid.Column="0" MinWidth="100" Margin="0,0,10,5">Path</TextBox>
              <TextBox Grid.Column="1" MinWidth="75" Margin="0,0,0,5">Search</TextBox>
            </Grid>
          </Border>
          <Grid DockPanel.Dock="Top" >
            <Grid.ColumnDefinitions>
              <ColumnDefinition/>
            </Grid.ColumnDefinitions>
            <TextBox Grid.Column="0" AcceptsReturn="True"/>
          </Grid>
        </DockPanel>
      </Grid>
    </Window>
    

    topBar burada nesne ekleyeceğimiz kısım oluyor.

    Ayrıntılı bilgi için : http://msdn.microsoft.com/en-us/library/ms748975(v=vs.90).aspx

    Alıntıdır...

    02 Haziran 2012 Cumartesi 20:24
  • .xaml bilerek vermedim. O kısım sana kalmış. 

    Ben olsam bunu, dll değilde , master Window yaparım, diğer Windowlarımı bundan inherit ederim.


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    02 Haziran 2012 Cumartesi 22:18
    Moderatör
  • O nasıl oluyo biraz açıklayabilir misiniz ?
    03 Haziran 2012 Pazar 09:20
  • Arkadaşım birşey merak ediyorum. Şimdi biz bu çerçeveleri şeffaf ve bulanık yaptık ya, biz bunu hafif turuncumsu veya mavimsi nasıl yapabiliriz ?
    10 Haziran 2012 Pazar 10:27
  •  

    Merhaba , Abdulkadir 
    Konu kapatılmış olarak göründüğü için soruna cevap gelmemiş bu yüzden sorularınızı ayrı başlıklar altında sormanızı tavsiye ederim.Daha çabuk çözüm bulabilirsiniz.
    Çözüm önerime gelecek olursak Önay Hocam'ın dediklerini yaptıysan artık Express Blend4 kullandığını varsayarak aşağıdaki kodları denemeni öneririm..
    Kodlar xaml dosyasına yazılacak .

    <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      WindowTitle="SystemColors Example" Background="White">  
      <StackPanel Margin="20">
        <Button 
          Background="{DynamicResource {x:Static SystemColors.DesktopBrushKey}}" 
          Content="Hello, World!" />
      </StackPanel>
    </Page>

    Ayrıntılı Bilgi :http://stackoverflow.com/questions/4968562/wpf-windows-background-color 

    Eğer kaynak yeterli olmazsa arama yapmak için anahtar kelimeleriniz 
    WPF BackgrounColor
    WPF Main Window Color 
    şeklinde arama yaparsan yeterli bilgiye ulaşacağını düşünüyorum ... 
    Kolay Gelsin ..





    10 Haziran 2012 Pazar 21:06
  • Ben bu kodları aldım ama sorun oldu.

    http://social.msdn.microsoft.com/Forums/getfile/434040

    Bu kısımlarda hata var. Şu resmi de paylaşırsam daha anlaşılır olurum sanırım.

    http://social.msdn.microsoft.com/Forums/getfile/434045

    İşte bunlar da açıklamalar. Bir proje üzerinde uğraşıyorum. Bunu öğrenirsem çok makbule geçicek. Şimdiden teşekkür ederim.

    20 Mart 2014 Perşembe 14:06
  • References de System.Drawing yok ise Add Reference ile ekleyip denermisin.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    20 Mart 2014 Perşembe 14:45
    Moderatör
  • yanıtınız için çok teşekkür ederim sorun buymuş çok sağolun.
    21 Mart 2014 Cuma 23:48
  • peki titlebar'ı kaldırmak için ne yapmalıyız?
    21 Mart 2014 Cuma 23:52